Properties配置文件操作:
主要用于读取java配置文件,让用户脱离程序本身修改相应属性;
方法:
1.getProperties(String key):用指定的键在此属性列表中搜索属性,得到key的value值;
2.load(InputStream i):从输入流中读取属性列表(键和值),要获取属性,需要优先加载流;
3.setProperties(String key,String v):调用Hashtable方法的put,来设置键值对;
4.store(OutputStream out,String comments):将Properties表中的键值对写入输出流,输出流写入文件.
5.clear():清除所有装载的键值对.
6.put(String k,String v):将k键的值,改成v;
//静态代码块,优先执行,并只执行一次.
static {
PropertiesRed();
PropertiesWrt("3","张");
}
//写入
private static void PropertiesWrt(String v,String n){
//创建Properties文件操作对象;
Properties p=new Properties();
//修改文件中键的value值
p.put("app.version",v);
p.put("db.username",n);
try {
//创建字节输出流对象,要使用绝对路径
OutputStream op=new FileOutputStream("D:/BlogXinCss/java基础01//src/com/User.properties");
//将properties表中的属性列表键和值写入输出流去,然后输出流写入指定文件,后一个字符串是提示信息,默认含有时间戳
p.store(op,"更新文件");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//读取
private static void PropertiesRed(){
//设定几个用来接收的变量
String version=null;
String username=null;
//创建Properties文件操作对象;
Properties properties=new Properties();
//通过当前线程的类加载器对象,来加载指定包下的配置文件;
InputStream is=Thread.currentThread().getContextClassLoader().getResourceAsStream("com/User.properties");
try {
//将数据文件加载到文件操作对象中
properties.load(is);
//获取指定key键的value值
version=properties.getProperty("app.version");
username=properties.getProperty("db.username");
System.out.println(version);
System.out.println(username);
//关闭文件流
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
本章概述了java中的Properties配置文件的操作流,在读取一些配置文件或写入配置文件时可使用Properties来操作;
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!