java中怎么利用ini4j修改ini配置文件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关java中怎么利用ini4j修改ini配置文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义:ini文件主要由三部分构
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
西安纸贵互联网科技有限公司
科技互联网产品
中国互联网科技股
高科技与互联网
互联网科技论文
奇酷互联网络科技公司
互联网金融科技委员会
华脉科技工业互联网产品
安控科技rtu产品工业互联网
科技赋能互联网健康
互联网科技博主是什么意思
深圳育鹏互联网科技有限公司招聘
广州千川互联网科技有限公司
互联网科技数字货币
郑州欣桑互联网科技有限公司
国产互联网科技公司
互联网领先科技活动
求路客互联网科技电话
恒生科技指数 中概互联网
科技互联网企业在行动
耶加雪菲
广州为想互联网科技有限公司
互联网 卓越科技
宜安科技 互联网金融
科技互联网创业计划书
隆华科技工业互联网
和信科技工业互联网
中和天地互联网科技有限公司
中科明德北京互联网科技
保山浩联互联网科技有限公司