本方法使用Properties类来对配置文件进行处理。
读取的方法很简单,打开文件读指定键值返回即可。
private static String readProperty(String key) {
Properties properties = new Properties();
InputStream inStream = null;
try {
//指定正确的配置文件路径和名称
inStream = new FileInputStream(new File("rsc/sys.conf"));
properties.load(inStream);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return properties.getProperty(key);
}
写入稍麻烦一点。需要先把文件读出,修改,再写回。
private static void setProperty(String key, String value) {
Properties properties = new Properties();
InputStream inStream = null;
FileOutputStream out = null;
try {
//读取原有的配置信息
inStream = new FileInputStream(new File("rsc/sys.conf"));
properties.load(inStream);
//写入需要修改的配置
properties.setProperty(key, value);
//配置重新写回文件
out = new FileOutputStream("rsc/sys.conf", false);
properties.store(out, "Last date ");
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
在网上看到一种方法没有读取原有配置,而是把配置文件以追加的方式打开写入新值,这样做会在配置文件中增加同名的键。这对java运行没有影响,Properties.getProperty(key) 只会返回同名键的最后一个值。
但如果我们自己直接打开配置文件看时会很不舒服。所以还是用这个读取再写回的方法比较好些。