try { Properties p = new Properties(); File file = new File("test.properties"); FileInputStream fis = new FileInputStream(file); p.load(fis); } catch (IOException ioex) { ioex.printStackTrace(); } Properties类的load()方法需要一个输入流作为参数,这里我们向它传入了一个FileInputStream对象。 接下来,我们就可以通过调用getProperty()方法从Properties对象获取属性值。下面我们来看看test.properties属性文件的内容:
singleline=Single line value multiline =This example shows how we can write a property value over multiple lines in a properties file 这个属性文件保存了两个属性,键分别是singleline和multiline。singleline的值只有一行,而multiline的值有多行。
假如我们调用Properties对象的getProperty()方法,并输出属性值,结果将是:
调用:
System.out.println("singleline? " + p.getProperty("singleline")); System.out.println("multiline ? " + p.getProperty("multiline")); 结果: singleline? Single line value multiline ? This example shows how we multiline属性只包含了第一行值。那么,如何解决这个问题呢?其实很简单,只需要在每个行的末尾加上转义字符“/”就可以了。修改后的属性文件如下所示: singleline=Single line value multiline =This example shows how we can write a property value over multiple lines in a properties file 再次读取属性文件的值,multiline的属性值就能够完整地读取出来。