Java 读写 .properties 文件

java.util.Properties;

读取文件

 通过Properties类对象中的方法load(InputStream),从.properties文件对应的文件输入流中,加载属性列表到Properties类对象,然后getProperty(String key)得到所要的值。
Properties类对象需要InputStream对象进行读取文件,获取InputStream有多种方法:
  InputStream is = new FileInputStream(filePath);
  InputStream is = Class.getResourceAsStream(path);
  InputStream is = ClassLoader.getResourceAsStream(path);

public class ReadFile {
    public static void main(String[] args) {
        InputStream stream=ReadFile.class.getResourceAsStream("/test.properties");
        Properties prop = new Properties();
        try{
            // 从文件输入流中,加载属性列表到Properties类对象
            prop.load(stream);
            stream.close();
            // 读取 属性
            String name = prop.getProperty("name");
            int age = Integer.valueOf(prop.getProperty("age"));
            String note = prop.getProperty("note");
            System.out.println(zkConnectionStrs);
            System.out.println(dubboserverport);
            System.out.println(test);
        } catch(Exception e){
            System.out.println(e);
        }
    }
}

写文件

通过setProperty(String key, String value)方法,设置属性到Properies类对象中。
然后,调用Properties 类对象中的store(OutputStream out, String comments)方法,把Properties类对象的属性列表保存到输出流中。

public class WriteFile {
    public static void main(String[] args) {
        Properties prop = new Properties();
        try{
            FileOutputStream out = new FileOutputStream("write.properties", true);//true表示追加打开
            prop.setProperty("name", "zhang"); // 设置属性
            prop.setProperty("age", "20"); // 设置属性
            prop.store(out, "我是注释"); // Properties类对象的属性列表保存到输出流中
            out.close();
        } catch(Exception e){
            System.out.println(e);
        }
    }
}
posted @ 2019-02-14 16:32  游园拾忆  阅读(61)  评论(0编辑  收藏  举报