当前位置: 首页 > web >正文

Java—— 配置文件Properties

配置文件的作用

1:可以把软件的设置永久化存储

2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了

properties

说明

properties是一个双列集合,拥有Map集合所有的特点

有一些特有的方法,可以把集合中的数据,按照键值对的形式写到配置文件当中,也可以把配置文件中的数据,读取到集合中来

Properties作为双列集合的方法

拥有Map集合所有的特点,可以使用Map集合的方法

import java.util.Map;
import java.util.Properties;
import java.util.Set;public class test {public static void main(String[] args) {//创建集合的对象Properties prop = new Properties();//添加数据prop.put("aaa", "111");prop.put("aaa", "222");prop.put("bbb", "333");prop.put("ccc", "444");//遍历数据//方式一Set<Object> keys = prop.keySet();for (Object key : keys) {Object value = prop.get(key);System.out.println(key + "=" + value);}//aaa=222//ccc=444//bbb=333//方式二Set<Map.Entry<Object, Object>> entries = prop.entrySet();for (Map.Entry<Object, Object> entry : entries) {Object key = entry.getKey();Object value = entry.getValue();System.out.println(key + "=" + value);}//aaa=222//ccc=444//bbb=333}
}

Properties中特有的读写方法

方法说明
void store(OutputStream out, String comments) 将此Properties表中的键值对保存到配置文件中,参数一为关联配置文件的输出流,参数二为注释
void store(Writer writer, String comments) 
void load(InputStream inStream) 从配置文件中读取属性列表(键值对),参数为关联配置文件的输入流
void load(Reader reader)

将Properties表中的保存到配置文件中

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;public class StoreDemo {public static void main(String[] args) throws IOException {//创建Properties对象Properties prop = new Properties();//添加要往配置文件中赔偿的数据prop.put("zhangsan", "23");prop.put("lisi", "24");prop.put("wangwu", "25");prop.put("zhaoliu", "26");//将Properties表中的保存到配置文件中FileOutputStream fos = new FileOutputStream("day06\\a.properties");prop.store(fos, "data");fos.close();}
}

从配置文件中读取属性列表(键值对)

import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import java.util.Set;public class LoadDemo {public static void main(String[] args) throws IOException {//创建Properties对象Properties prop = new Properties();//从配置文件中读取属性列表(键值对)FileReader fr = new FileReader("day06\\a.properties");prop.load(fr);//遍历得到读取的数据Set<Map.Entry<Object, Object>> entries = prop.entrySet();for (Map.Entry<Object, Object> entry : entries) {Object key = entry.getKey();Object value = entry.getValue();System.out.println(key + " = " + value);}//lisi = 24//zhaoliu = 26//zhangsan = 23//wangwu = 25}
}

修改配置文件后,读取到的数据也会改变,从而可以不改变代码修改参数

http://www.xdnf.cn/news/18709.html

相关文章:

  • 【Java SE】抽象类、接口与Object类
  • 秋招面试准备
  • 设计模式详解
  • TypeScript变量声明讲解
  • 个人思考与发展
  • 快速了解命令行界面(CLI)的行编辑模式
  • docker:compose
  • 【PSINS工具箱】MATLAB例程,平面上的组合导航,观测量为位置、速度、航向角,共5维。状态量为经典的15维
  • ModbusTCP与EtherNet/IP协议转换:工控机驱动步进电机完整教程
  • 智慧矿山误报率↓83%!陌讯多模态融合算法在矿用设备监控的落地优化
  • 安装即是已注册,永久可用!
  • Sql server的行转列
  • 数据结构:顺序表
  • C# 项目“交互式展厅管理客户端“针对的是“.NETFramework,Version=v4.8”,但此计算机上没有安装它。
  • 玳瑁的嵌入式日记D24-0823(数据结构)
  • 【基础-判断】使用http模块发起网络请求时,必须要使用on(‘headersReceive’)订阅请求头,请求才会成功。
  • 游戏广告投放数据分析项目:拆解投放的“流量密码”
  • 图像边缘检测
  • qwen2.5vl(2):lora 微调训练及代码讲解
  • Android Studio下载gradle文件很慢的捷径之路
  • 个人禁食伴侣FastTrack
  • 数据库类型与应用场景全解析:从传统关系型到新兴向量数据库
  • MySQL深分页的处理方案
  • React学习(十一)
  • 深入理解 React useEffect
  • 三、Bpmnjs 核心组件与架构介绍
  • 【c++进阶系列】:万字详解多态
  • 分库分表系列-基础内容
  • piecewise jerk算法介绍
  • 密码实现安全基础篇 . KAT(已知答案测试)技术解析与实践