Properties文件操作
Properties文件读取与写入:
properties,主要用于读取java配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,用用户能够脱离程序本身去修改相关的变量设置。
它提供了几个主要的方法:
getProperty(String key)
用指定的键在此属性列表中搜索属性,也就是通过参数key,得到key所对应的value,
setProperty(String key, String value)
调用HashTable的方法put。他通过基类的put方法来设置键值对。
store(OutputStream out,String comments)
以适合使用load方法加载到Properties表中的格式,将次Properties表中的属性列表(键和元素对)写入输出流,与load方法相反,该方法将键值对写入到指定的文件中
load(InputStream in)
从输入流中读取属性列表(键和元素对)。通过对指定文件Properties进行装载来获取该文件中的所有键值对,以供getProperty来搜索。
代码演示:
config.properties文件
username = root
password = root
读取操作:
public class Test13 {
private static String username;
private static String password;
public static void main(String[] args) {
readConfig();
}
private static void readConfig() {
Properties p = new Properties();
try {
InputStream inputStream = new FileInputStream("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\config.properties");
p.load(inputStream);//加载文件
username = p.getProperty
("username");
password = p.getProperty("password");
System.out.println(username);
System.out.println(password);
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入操作:
public class Test13 {
public static void main(String[] args) {
writeConfig("nibi", "444");
}
/**
* 写入到配置文件
*/
private static void writeConfig(String username, String password) {
Properties p = new Properties();
p.put("USERNAME", username);
p.setProperty("password", password);
try {
OutputStream outputStream = new FileOutputStream("E:\\idea_workspace3\\yangli\\class_obj\\src\\com\\lili\\file\\config.properties");
// 写文件
p.store(outputStream, "更新");
} catch (IOException e) {
e.printStackTrace();
}
}
}