properties属性文件
特点
只能存键值对
也就是姓名=张三 这种形式
键不能重复
文件后缀是properties
读取
//创建一个Properties的对象出来(键值对集合,空容器)
Properties properties=new Properties();
System.out.println(properties);
//load方法:加载properties文件到空容器中去,用的是相对地址
properties.load(new FileReader("src/main/java/user.properties"));
System.out.println(properties);
//getProperty方法:取值
System.out.println(properties.getProperty("admin"));
System.out.println(properties.getProperty("赫敏"));
//stringPropertyNames方法:遍历所有键和值,返回一个Set<String>类的对象
Set<String> keys=properties.stringPropertyNames();
//遍历整个数组,由键获取所有的值
for (String key:keys){
String value=properties.getProperty(key);
System.out.println(key+"---->"+value);
}
写入
//如果用的是新建的一个Properties对象,那就是创建新的Properties属性文件
//如果下面的地址跟旧的文件一样就会覆盖掉旧的文件
//Properties properties1 = new Properties();
//setProperty方法:如果用的是原来的Properties对象,就会往里面添加数据,
//但要注意键是不允许重复的,如果重复就会覆盖掉旧的数据
properties.setProperty("高数", "96");
properties.setProperty("离散数学", "98");
properties.setProperty("概率轮", "100");
//将容器Properties中的数据写入到Properties文件当中去,后面一个输入值是要填进去的注释
properties.store(new FileWriter("src/main/java/user.properties"), "");
//containsKey方法,检验是否存在键为给定值的键值对
if(properties.containsKey("概率轮")){
//有的话更新这个键对应的值,相同键会覆盖掉原来的
properties.setProperty("概率轮","98");
System.out.println(properties.getProperty("概率轮"));
}
//把Properties容器中的数据写入属性文件中
properties.store(new FileWriter("src/main/java/user.properties"),"");
Properties文件中是这样的
#
#Wed Aug 21 20:21:11 CST 2024
概率论=100
概率轮=98
离散数学=98
高数=96