381Properyies集合中的方法stoer和382集合中的方法load
Properties集合中的方法store
void store(OutputStream out,String comments)
void store(Writer writer,String comments)
参数:
OutputStream out:字节输出流,不能写入中文
Writer writer:字符输出流,可以写入中文
String comments:注释:用来解释说明保存的文件是做什么用的
不能使用中文,会产生乱码,默认是Unicode编码
使用步骤:
1.一般使用"空字符串"创建Properties集合对象,添加数据
2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
3.使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
4.释放资源
public static void main(String[] args) throws IOException {
Properties a = new Properties();
a.setProperty("杰瑞","99");//1.使用properties集合中的方法存储数据键与值
a.setProperty("汤姆","85");
a.setProperty("泰非","77");
//2.创建字符输出流对象 构造方法中设置要被传入数据的文件位置
FileWriter w =new FileWriter("D:\\b.txt");
//3.此方法表示将集合中的临时数据写入到w的指定文件当中
a.store(w,"SavaMe");
//4.释放资源并刷新缓冲区的字符传到文件里
w.close();
//3.1此方法表示将集合中的临时数据写入到new 出来位置的指定文件当中 区别这是字节输出流 集合里有中文会导致乱码
a.store(new FileOutputStream(("D:\\a.txt"),true),"字节输出流");
}
public class Demo01Properties {
public static void main(String[] args) throws IOException {
show02();
}
private static void show02() throws IOException {
// 1.一般使用"空字符串"创建Properties集合对象,添加数据
Properties prop = new Properties();
prop.setProperty("汤姆","123");
prop.setProperty("杰瑞","88");
prop.setProperty("泰非","81");
//2.创建字节输出流/字符输出流对象,构造方法中绑定要输出的目的地
/* FileWriter fw = new FileWriter("day09_IOAndProperties\\prop.txt");
//3.使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储
prop.store(fw,"save data");
//4.释放资源
fw.close();*/
//字节流,中文乱码
prop.store(new FileOutputStream("file\\\\b.txt"),"");
}
Properties集合中的方法load
void load(InputStream inStream)
void load(Reader reader)
参数:
InputStream inStream :字节输入流,不能读取含有中文的键值对
Reader reader: 字符输入流,能读取含有中文的键值对
使用步骤:
1.创建Properties集合对象
2.使用Properties集合对象中的方法load读取保存键值对的文件
3.遍历Prperties集合
注意:
1.存储键值对的文件中,键与值默认的连接符号可以使用=,空格(其他符号)
2.存储键值对的文件中,可以使用#进行注释,被注释的键值对不会再被读取
3.存储键值对的文件中,键与值默认都是字符串,不能再加引号
public static void main(String[] args) throws IOException {
show();
}
private static void show() throws IOException {
Properties prop=new Properties();
FileReader fr=new FileReader("D:\\b.txt");
//使用load读取保存键值对的文件
prop.load(fr);
//遍历Properties集合
Set<String> set = prop.stringPropertyNames();
for (String key : set) {
String value = prop.getProperty(key);
System.out.println(key+" "+value);
}
}
public class FuXi3 {
public static void main(String[] args) throws IOException {
Properties a = new Properties();//a.load(new FileInputStream("C:\\Users\\shanyang\\Desktop\\22222"));12 23 ÔÚ5 此输入流会只认字节字符会乱码
a.load(new FileReader("C:\\Users\\shanyang\\Desktop\\22222"));//此输入流会认识字符
Set<String> strings1 = a.stringPropertyNames();
for (String string : strings1) {
String property = a.getProperty(string);
System.out.println(string +"="+ property);
}
}
}

浙公网安备 33010602011771号