zoukankan      html  css  js  c++  java
  • 适配器模式的应用

    1.适配源类:java.util.Properties

    2.适配目标类:FileIO

    3.适配器 FileProperties

    package fileio;
    
    import java.io.IOException;
    
    public interface FileIO {
        public void readFromFile(String fileName) throws IOException;
        
        public void writeToFile(String fileName) throws IOException;
        
        public void setValue(String key , String value);
        
        public String getValue(String key);
    }
    package fileio;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Properties;
    
    public class FileProperties implements FileIO {
        
        
        private Properties p;
        
        public FileProperties(Properties p) {
            this.p = p;
        }
        
        @Override
        public void readFromFile(String fileName) throws IOException {
            p.load(new FileInputStream(new File(fileName)));
        }
    
        @Override
        public void writeToFile(String fileName) throws IOException {
            p.store(new FileOutputStream(new File(fileName)), "");
        }
    
        @Override
        public void setValue(String key, String value) {
            p.setProperty(key, value);
        }
    
        @Override
        public String getValue(String key) {
            return p.getProperty(key);
        }
    
    }
    package fileio;
    
    import java.io.IOException;
    import java.util.Properties;
    
    public class Client {
        public static void main(String[] args) {
            FileIO fi = new FileProperties(new Properties());
            try {
                fi.readFromFile("test.txt");
                fi.setValue("name", "tisa");
                fi.setValue("age", "12");
                fi.setValue("school", "CCNU");
                
                fi.writeToFile("out.txt");
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }
    }
  • 相关阅读:
    dbgrideh标题排序
    ctrl r w 去掉
    c# 中@ 的三种用法
    vs插件
    oracle查看会话(常规操作)
    3 docker容器
    k8s-组件
    k8s-常见错误
    k8s监控-kube-prometheus
    helm-私有仓库
  • 原文地址:https://www.cnblogs.com/tisakong/p/4708443.html
Copyright © 2011-2022 走看看