java Properties属性集类介绍
Properties间接实现了Map接口,它可以从文件当中加载内容到集合当中。
/** * 概述:java.util.Properties继承于Hashable,表示一个持久的属性集 * 特点: * 1,properties可以当成map集合使用 * 2,可以加载配置文件,读取配置文件中的数据到我们集合当中(内存当中) * 3,如果Properties结合流加载配置文件的话,Properties里面的键和值只能是【String类型】 */
简单使用案例
public class Test {
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("account","12345678");
properties.setProperty("password","123456");
//获取所有的键
Set<String> keys = properties.stringPropertyNames();
//keys.forEach(System.out::println);
for (String key : keys) {
//根据键找值
System.out.println(key+":"+properties.getProperty(key));
}
}
}
结合字符流或者字节流来加载配置文件内容
public class Test2 {
public static void main(String[] args) {
/**
* Properties类操作配置文件
* 1,读取配置文件中的数据
* load方法
* 2,往配置文件中写入数据(不常见,一般手动就往配置文件写好了)
* 3,Properties不是一定只能读取.properties后缀的文件
* 注意:文件中都是键值对形式的数据,一般可以使用等号,冒号,空格来分割键值对
*/
try (
//如果配置文件中有 中文那么使用字符流
FileInputStream fileInputStream = new FileInputStream("Properties属性集类\\config\\db.properties");
){
Properties properties = new Properties();
//把文件加载到properties中
properties.load(fileInputStream);
System.out.println(properties.getProperty("username"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入配置文件
public class Test3 {
public static void main(String[] args) throws IOException {
/**
* Properties向配置文件写入数据
*/
Properties properties = new Properties();
properties.setProperty("username","zhanghao");
properties.setProperty("password","123456");
FileOutputStream fileOutputStream = new FileOutputStream("Properties属性集类\\config\\test.properties");
//写入数据到文件
properties.store(fileOutputStream,"这是一个注释");
fileOutputStream.close();
}
}

浙公网安备 33010602011771号