Properties的源代码见附件(Properties.png)
Properties的作用是读取项目配置文件
//FileInputStream fis=new FileInputStream("D:\\test2.java");//创建的这个对象有什么用
//只是读取,可能是空文件啊?
外部的文件就是存放的是配置类型的文件,相当于
key1=value1
key2=value2
//prop.load(fis); 说是将输入流中的数据加载到集合中,在下面也没见应用,这两个问题该怎么理解?
通过load方法可以从外部载入配置文件信息,然后可以做修改,修改完毕后在通过load方法将配置信息重新写回到文件中,供下一次系统启动时使用
举个例子:
你用户第一次设置好声音的大小为50,等他关掉程序,下一次在启动的时候你不从文件中load,你就不知道用户上一次设置的声音大小是多少
package com.yy.test; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties; public class Test { public static void main(String[] args) {
Properties prop = new Properties();
try {
// 打开配置文件
FileInputStream fis = new FileInputStream("D:\\test.txt");
// 载入配置文件
prop.load(fis);
// 关闭文件
fis.close();
// 读取保存在文件中的声音大小
String voice = (String) prop.get("voice");
// 显示声音大小
System.out.println("当前声音大小为:" + voice);
// 修改声音大小
prop.setProperty("voice", "100");
// 打开配置文件
FileOutputStream fos = new FileOutputStream("D:\\test.txt");
// 保存修改到文件
prop.store(fos, "Change the voice");
// 关闭文件
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果见附件
|