一、properties属性文件
属性文件Properties是hashTable的子类,一种特殊的java资源文件,常被用于记录一些程序运行时的配置数据,这种文件可以“享有”和class一样的待遇,在java的classpath中被加载,要获得当前系统环境值时,可以使用System.getProperties()方法取得。属性文件是以一种键值对(key:value)的文本格式存储数据,以“回车”分隔两个键值对。调用Properties的默认参构造器可以生成一个没有初始值的Properties实例,该实例是待加载资源文件的对象,加载资源可以使用默认类的classpath进行加载:
二、代码示例
创建file
读取配置文件
public void input(){
//属性对象
Properties properties=new Properties();
try{
//1.通过输入流加载到内存中
propertie.load(StuProperties.class.getClassLoader().getResourceAsStream("user.properties"));
// 2、读取数据,类似Map格式,后面是默认值
System.out.println(properties.getProperty("admin", "bbbb"));
}catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
当然我们也可以往配置文件中写入内容,在E盘中将会生成一个user.properties的配置文件。代码如下:
// 操作类,修改,删除,添加
public static void output() {
Properties properties = new Properties();
// 1、加载到内存中。
try {
// 获得在src文件下面的路径 ,,
properties.load(new FileReader("e://user.properties"));
// 在内存中添加了。添加
properties.setProperty("liu", "789");
// 删除
properties.remove("admin");
// 修改其实就是添加的方法
properties.setProperty("user", "abc");
// 保存 输出到硬盘中
properties.store(new FileWriter("e://user.properties"), "hello");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}