一,读取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文件的功能