一,读取properties文件内容参数。
// 读取properties文件的值
public static void readProperties() {
Properties properties = new Properties();
File file = new File("file/read.properties");
try {
FileInputStream fis = new FileInputStream(file);
properties.load(fis);
Set<Object> keyset = properties.keySet();
for (Object object : keyset) {
System.out.println(object.toString() + ":"
+ properties.getProperty(object.toString()));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
解读:
1,创建持久属性集类properties。
2,创建文件类file并关联到项目名下file文件夹的properties文件read.properties文件。File类默认情况下查找工作目录下项目名下文件。如果加载的文件在其他磁盘下,需详细给集体目录,可是这样情况项目移植性很低,建议操作的文件都放在项目目录下。
3,创建文件输入流fis,关联到properties文件file。这里说一下文件输入流FileInputStream,和文件输出流FileOutStream,很多时候我们都会对文件输入流,输出流,写入流,读出流都很混淆,特别是对初学者。在IO操作中,我们的输入输出都是相对CPU来说的。输入流,我们要把外部文件读取并操作,所以文件相对CPU就是外部文件,要读进CUP所以用的是FileInputStream,输出流,把CPU中的内容写到文件中,相对CPU来说,数据是流出的,所以用的就是FileOutputStream。
4,properties.load(fis);属性集合类与文件输入流关联,往集合类中加载文件信息。
5,Set<Object> set = properties.keyset(); properties类继承HashTable,获取properties中的键集合。
6,属性保存在properties中是以键值对的形式保存的。循环语句根据键,获取properties中的值,实现读取.properties文件的功能。
二,写properties文件。
// 写properties文件
public static void writerProperties() {
Properties properties = new Properties();
File file = new File("file/wirte.properties");
try {
FileOutputStream fos = new FileOutputStream(file);
properties.setProperty("name", "guo");
properties.setProperty("password", "qinglao");
properties.setProperty("value", "3");
properties.setProperty("first", "郭");
properties.store(fos, "保存文件");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
解读:
1,Properties properties = new Properties();
File file = new File("file/wirte.properties");
FileOutputStream fos = new FileOutputStream(file); 这里的功能显而易见,创建Properties类,创建写入内容文件并关联文件输出流fileOutputStream。
2,properties是一个键值对集合,所以设置properties内容时是以键值对setProperties(key,value)形式,
3,properties.store(fos,"保存文件");把集合中的内容压到输出流中写进文件.实现写properties文件的功能。