什么是Properties文件
properties也是一种文本文件,是一种资源属性的文件
properties是以一种键值对(key==value)的方式进行存储内容,每一行都是一个键值对。properties类继承自Hashtable,可以用键来获取value值。
一、Properties文件的读取
我们也可以将它看成普通文件的读取,用BufferedInputStream读取,但读取出来没有形成键值对,所以没有意义。
1.properties文件的读取方式
读取properties文件,首先也需要创建BufferedInputSstream缓冲输入流传入FileInputStream作为数据源。然后创建properties对象,再调用load()方法,在load方法里传入文件流对象。(读取前需保证你所传入的数据源的properties文件在路径里是存在的)
代码示例如下:
//Properties格式文件读取
//创建输入流
try (
BufferedInputStream input = new BufferedInputStream(new FileInputStream("c:\\text\\data.properties"))) {
//创建properties文件对象
Properties pro=new Properties();
//调用load的方法,传入输入流
pro.load(input);
//打印Properties对象
System.out.println(pro);
//通过键key来获取值value
System.out.println(pro.get("A1")); //110
System.out.println(pro.get("A3")); //130
} catch (IOException e1) {
e1.printStackTrace();
}
运行结果如图:
二、properties文件的写入
1.properties文件的写入步骤简述:
创建properties对象,使用properties的put方法存入键值对,再调用properties的save或者store方法传入文件流,将键值对写入properties文件。
代码如下(示例):
try {
Properties props=new Properties();
props.put("A1", "110");
props.put("A2", "120");
props.put("A3", "130");
props.put("A4", "140");
//创建输出流,将上面键值对写入文件*.Properties文件(即data1.properties文件)
BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream("C:\\text\\data1.properties"));
//just do it!是给properties加的注释,
props.store(out, "just do it!");
} catch (IOException e) {
e.printStackTrace();
}