java中怎么利用ini4j修改ini配置文件
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,今天就跟大家聊聊有关java中怎么利用ini4j修改ini配置文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义:ini文件主要由三部分构
千家信息网最后更新 2025年02月04日java中怎么利用ini4j修改ini配置文件
今天就跟大家聊聊有关java中怎么利用ini4j修改ini配置文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
定义:ini文件主要由三部分构成,paramaters、section和comment组成,其中paramaters由键值对构成,用来存储数据,section是一个区块,每个区块下有所属的键值对,comment是注释,对paramaters和section进行标注和解释。
使用工具类ini4j
引入依赖jar包
org.ini4j
ini4j
0.5.4
创建.ini文件的实例对象(可有可无,我这是为了测试方便)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class IniFileEntity {
private String section;
private String key;
private String value;
}
创建.ini文件
//我把这个写在了工具类里面(Ini4jUtils)
public static boolean creatIniFile(String filePath,List filecontent) throws IOException {
File file = new File(filePath);
if(file.exists()){
return false;
}
file.createNewFile();
Ini ini = new Ini();
ini.load(file);
//将文件内容保存到ini对象中
filecontent.stream().forEach((entity)->{
ini.add(entity.getSection(),entity.getKey(),entity.getValue()== null ? "": entity.getValue());
});
//将文件内容保存到文件中
ini.store(file);
return true;
}
// 测试
@Test
public void test(){
List list = Arrays.asList(new IniFileEntity("ldap","ip","1.1.1.1"),
new IniFileEntity("ldap","ipPort","8567"),
new IniFileEntity("test","isUsed","true"));
System.out.println(Ini4jUtils.creatIniFile("D:\\abc\\test.ini",list));
}
读取.ini文件
/**
* 存储文件中的内容
*/
@Data
public class Ini4jFileVo {
private String ip;
private String ipPort;
private String isUsed;
}
/**
* 读取ini文件的内容
* @param iniFile ini文件
* @param fileContent ini文件中的key对应文件中的section,value对应i你文件section下的一个或多个key值
* @return
* @throws IOException
* @throws NoSuchFieldException
* @throws IllegalAccessException
*/
public static Ini4jFileVo readIniFile(File iniFile, Map> fileContent) throws IOException, NoSuchFieldException, IllegalAccessException {
Ini4jFileVo fileVo = new Ini4jFileVo();
Ini ini = new Ini();
ini.load(iniFile);
Section section = null;
Field field = null;
for(String key : fileContent.keySet()){
section = ini.get(key);
for (String value: fileContent.get(key)) {
field = fileVo.getClass().getDeclaredField(value);
field.setAccessible(true);
field.set(fileVo, section.get(value));
}
}
/**
* 这个是简略版的
* Section section = ini.get("ldap");
* fileVo.setIp(section.get("ip"));
* fileVo.setIpPort(section.get("port" ));
*
* section = ini.get("test");
* fileVo.setIsUsed(section.get("isUsed"));
*/
return fileVo;
}
//测试
@Test
public void testReadFile(){
File file = new File("D:\\abc\\test.ini");
Map> fileContent = new HashMap<>();
fileContent.put("ldap",Arrays.asList("ip","ipPort"));
fileContent.put("test",Arrays.asList("isUsed"));
Ini4jFileVo fileVo = Ini4jUtils.readIniFile(file,fileContent);
System.out.println(fileVo);
}
//打印结果----Ini4jFileVo(ip=1.1.1.1, ipPort=8567, isUsed=true)
修改.ini文件
/**
* 修改文件内容
* @param iniFile ini文件
* @param updateData 更新的数据
* @throws IOException
*/
public static void updateIniFile(File iniFile,Map> updateData) throws IOException {
Ini ini = new Ini();
ini.load(iniFile);
Section section = null;
Map dataMap = null;
for (String sect : updateData.keySet()){
section = ini.get(sect);
dataMap = updateData.get(sect);
for (String key : dataMap.keySet()){
section.put(key,dataMap.get(key) == null ? "" :
dataMap.get(key));
}
}
ini.store(iniFile);
}
@Test
public void testUpdateFile(){
//修改
File file = new File("D:\\abc\\test.ini");
Map> updateData = new HashMap<>();
Map ldap = new
HashMap<>();
ldap.put("ip","8.8.8.8");
updateData.put("ldap",ldap);
Ini4jUtils.updateIniFile(file,updateData);
Map> fileContent = new HashMap<>();
fileContent.put("ldap",Arrays.asList("ip","ipPort"));
fileContent.put("test",Arrays.asList("isUsed"));
Ini4jFileVo fileVo = Ini4jUtils.readIniFile(file,fileContent);
System.out.println(fileVo);
}
//测试结果----Ini4jFileVo(ip=8.8.8.8, ipPort=8567, isUsed=true)
看完上述内容,你们对java中怎么利用ini4j修改ini配置文件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
文件
内容
测试
配置
区块
对象
工具
数据
结果
存储
简略
可有可无
下有
图片
多个
实例
所属
更多
注释
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
json数据库怎么存入
盘龙区快速上门回收服务器
常用数据库的命令
视频流媒体服务器配置要求
数据库什么是角色
服务器装iis
网页文字识别软件开发
法制教育网络安全意识形态
天津融和互联网络科技
基岩国际版起床服务器
滨州oa办公软件开发联系方式
多人生存服务器怎么训练
申请退出网络安全责任书
异界锁链数据库密码
河北软件开发平台
银川旅游团软件开发
软件开发 v
华为通话无法连接到服务器
上海市软件开发退税
学习网络安全容易吗
铭创软件开发商
倩女幽魂如何换服务器
网络安全保护的基础法是什么
网络安全教育机构排名
阿里服务器电信网络访问不了
网络安全手抄报防网络欺凌
外网连接gpu服务器
完美世界挂箱服务器
dell服务器raid1换硬盘
数据库注册监听