properties属性文件
一、properties属性文件
属性文件Properties是hashTable的子类,一种特殊的java资源文件,常被用于记录一些程序运行时的配置数据,这种文件可以“享有”和class一样的待遇,在java的classpath中被加载,要获得当前系统环境值时,可以使用System.getProperties()方法取得。属性文件是以一种键值对(key:value)的文本格式存储数据,以“回车”分隔两个键值对。调用Properties的默认参构造器可以生成一个没有初始值的Properties实例,该实例是待加载资源文件的对象,加载资源可以使用默认类的classpath进行加载:
二、代码示例
1、在src建立一个属性文件
代码如下:
#hello liu=789 user=abc admin=678
2、读取配置文件
public void input() { // 属性对象 Properties properties = new Properties(); try { // 1、通过输入流加载到内存中 properties.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(); } }