什么是properties文件?
properties文件是一种属性文件,这种文件以key=value格式存储内容。Java中可以使用Properties类来读取这个文件,使用Propertie类中的getProperty(key)方法就能得到对应的数据。一般properties文件作为一些参数的存储,使得代码更加灵活。
Properties文件的读取:
1.普通读取:利用BufferInputStream缓冲输入流进行读取,可以读取到文件的所有内容,但这样读取失去了properties文件的特点。这种文件是以key=value格式存储内容。
代码实现:
public class Main {
public static void main(String[] args) {
try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("e:\\IO流\\data.properties"))) {
int data = -1;
while((data = bis.read())!=-1) {
System.out.print((char)data);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.使用Properties类读取:我们需要使用load()方法将“输入流”加载至Properties集合对象中。这样我们就可以根据key来获取value的值。
代码实现:
public class Main {
public static void main(String[] args) {
try ( BufferedInputStream bis = new BufferedInputStream(new FileInputStream("C:\\IO流\\data.properties"))) {
Properties props = new Properties();
props.load(bis); //将“输入流”加载至Properties集合对象中
//根据key,获取value
System.out.println(props.get("cn"));
System.out.println(props.get("kr"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Properties文件的写入:
首先需要创建一个Properties对象props,使用put()方法将键和值放入Properties集合对象中,然后需要借助输出流通过store()方法把集合中的临时数据,持久化写入到硬盘中存储。
代码实现:
public static void main(String[] args) {
//Properties格式文件的写入
Properties props = new Properties();
props.put("f1", "11");
props.put("f2", "22");
//使用输出流,将Properties集合中的KV键值对,写入.properties文件
try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\IO流\\demo.properties"))) {
props.store(bos, "just do it");
} catch (IOException e) {
e.printStackTrace();
}
}
}