Properties是一个双列集合,它可以与io流相结合,通过io流将Properties中的数据保存到硬盘中去,同时也可以把硬盘中的数据读入Properties到中来。
Properties类型和io流相结合的方法:
void load(Reader reader);
从输入字符流读取文件中的属性列表(键和元素对)。
方法的作用是从提供的Reader对象中加载数据。Reader是Java IO库中用于读取字符流的抽象类。它是一个字符输入流,可以用于读取字符数据。
下面是一个示例,展示了如何使用load()方法从Reader对象中加载数据:
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
Reader reader = new FileReader("data.txt"); // 创建一个Reader对象
load(reader); // 调用load()方法加载数据
reader.close(); // 关闭Reader对象
} catch (IOException e) {
e.printStackTrace();
}
}
// 加载数据的方法
public static void load(Reader reader) throws IOException {
BufferedReader bufferedReader = new BufferedReader(reader); // 将Reader包装为BufferedReader,提供了更方便的方法来读取数据
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line); // 处理读取到的数据,这里简单地打印到控制台
}
bufferedReader.close(); // 关闭BufferedReader对象
}
}
void load(InputStream inputstream);
从输入字节流读取文件中的属性列表(键和元素对)。
void store(Wrtier wrtier,String str);
将属性列表(键和元素对)写入到Properties集合中,以适合使用 load(Reader reader);方法的格式写入输出字符流。
void store(OutputStream outputstream);
将属性列表(键和元素对)写入到Properties集合中,以适合使用 load(InputStream inputstream);方法的格式写入输出字节流。
用 store 方法将属性存储到输出流中,例如将属性保存到文件或网络流中。以下是 store 方法的示例:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;
public class StoreExample {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("key1", "value1");
properties.setProperty("key2", "value2");
try (OutputStream outputStream = new FileOutputStream("date.txt")) {
properties.store(outputStream, "My date");
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述示例将属性存储到名为 "date.txt" 的文件中。