Java存在系统属性的概念并且允许用户手动添加属性,但是用户添加的属性在java虚拟机关闭后,其他程序启动虚拟机就不能访问了,如果要永久记录用户自定义的属性,则可以采用Properties类的load()/store()方法进行属性的导入/导出操作。下面我们通过两个例子来说明如何使用load和store方法。代码如下:
1、将属性文件导出到指定的文件中,代码如下:
package io.stream; import java.io.File; import java.io.FileReader; import java.util.Properties; public class LoadProperties { public static void main(String[] args) { try { Properties ps = new Properties(); FileReader read = new FileReader(new File("document/properties.txt")); // 将输入流中的文件加载到属性文件中 ps.load(read); read.close(); // 将加载的属性信息输出到控制台 ps.list(System.out); } catch(Exception e) { e.printStackTrace(); } } }
属性导出文件properties.txt内容如下:
#testProperties #Wed May 27 22:32:50 CST 2015 email=zhangsan@sina.com.cn password=aaaaaa name=zhangsan
2、将导出的属性文件加载到系统中,代码如下:
package io.stream; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.Properties; public class LoadProperties { public static void main(String[] args) { FileReader read = null; try { // 被导出属性文件的输入字符流 read = new FileReader(new File("document/properties.txt")); // 属性对象 Properties ps = new Properties(); // 将输入流中的文件加载到属性文件中 ps.load(read); // 将加载的属性信息输出到控制台 ps.list(System.out); } catch(Exception e) { e.printStackTrace(); } finally { if ( null != read ) { try { read.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
输出结果:
-- listing properties --
email=zhangsan@sina.com.cn
password=aaaaaa
name=zhangsan