Java语言操作INI配置文件策略

news/2025/10/12 14:19:24/文章来源:https://www.cnblogs.com/htmlww/p/19136600

在Java中操作INI配置文件通常涉及到读取、解析、修改和保存配置信息。INI文件是一种简单的文本文件,其结构由节(section)、键(key)和值(value)组成,通常用于存储程序的配置信息。

下面是如何在Java中操作INI文件的策略:

读取和解析 INI 文件

要读取INI文件,可以使用 java.util.Properties类或者第三方库如Apache Commons Configuration。

使用 java.util.Properties

  1. 创建一个 Properties 对象。
  2. 使用 FileInputStream 从INI文件中加载数据到Properties对象。
  3. 遍历Properties对象来获取键值对。
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;public class IniReader {private Properties properties;public IniReader(String filePath) throws IOException {properties = new Properties();FileInputStream inputStream = new FileInputStream(filePath);properties.load(inputStream);inputStream.close();}public String getValue(String key){return this.properties.getProperty(key);}
}
​
 
 

使用 Apache Commons Configuration

  1. 添加Apache Commons Configuration库依赖到项目。
  2. 创建一个 Configurations 对象并使用它来加载.ini 文件。
  3. 获取具体的节(section),然后获取对应键(key)下面的值(value).
<!-- Maven dependency -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-configuration2</artifactId><version>2.x.x</version>
</dependency>
​
 
 
import org.apache.commons.configuration2.INIConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration2.builder.fluent.Configurations;public class IniConfigHandler {private INIConfiguration config;public IniConfigHandler(String filePath){Configurations configs = new Configurations();try{config = configs.ini(filePath);} catch (ConfigurationException cex){// Handle exception here, possibly logging and rethrowing as a runtime exception.}}public String getValue(String section, String key){return (String)this.config.getSection(section).getString(key); }
}
​
 
 

修改 INI 文件

要修改一个已存在的项或添加新项:

  1. 加载现有配置(如上所述)。

如果使用了 Apache Commons Configuration:

  • 调用相应section下面key对应setValue方法设置新value。

如果使用了 Properties:

  • 直接调用setProperty方法设置新value(注意:这不会保留任何section信息)。

写入/保存更改至 INI 文件

将更改写回至原始或新建.INI文档:

如果使用了 Apache Commons Configuration:

  • 调用config.save()方法将更改写回至原始或者指定路径下新建.INI文档。

如果使用了 Properties:

  • 创建FileOutputStream指向你想要写入数据的路径,并结合properties.store()方法保存更新后内容。注意这种方式不会保持原有ini格式(比如sections),因此可能需要自定义存储逻辑以维持格式一致性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/935419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IntelliJ IDEA / Android Studio 里直接跑 Cursor(不用来回切窗口) - 教程

IntelliJ IDEA / Android Studio 里直接跑 Cursor(不用来回切窗口) - 教程2025-10-12 14:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x…

2025管件厂家最新权威推荐榜:技术实力与市场口碑深度解析

2025管件厂家最新权威推荐榜:技术实力与市场口碑深度解析在工业与民用建筑领域,管件作为流体输送系统的关键组成部分,其质量直接影响工程安全与使用寿命。随着新材料、新工艺的不断涌现,管件行业正迎来技术升级与市…

Java 软件报错之初

在用Sublime Text编写好后,在控制台使用javac ##.java时,文件没有转为class格式,这是因为在Sublime Text中需要先设置文件编码格式为GBK,如图1所示,然后点击保存,再在控制台输入javac ##.java才可以转为class格式…

投票

明天下午放啥???

2025防震气柱袋厂家权威推荐榜:抗震防护与品质口碑深度解析

2025防震气柱袋厂家权威推荐榜:抗震防护与品质口碑深度解析在电商物流、精密仪器、高端消费品等行业快速发展的今天,产品运输过程中的安全防护已成为企业重点关注的问题。防震气柱袋作为现代包装领域的重要创新产品,…

当代世界数字化转型与人工智能应用

本文深入探讨数字化转型从自动化到智能平台的技术演进,分析AI和机器学习在客户服务、销售、供应链等核心业务功能中的具体应用案例,并讨论数据集成、系统治理等关键技术挑战与解决方案。数字化转型在当代世界 数字化…

2025智能照明模块厂家权威推荐榜:技术创新与智能控制口碑之

2025智能照明模块厂家权威推荐榜:技术创新与智能控制口碑之选在数字化与智能化浪潮的推动下,智能照明模块作为现代建筑、家居和工业设施的核心组件,正迎来前所未有的发展机遇。据行业数据显示,全球智能照明市场规模…

化工反应釜全流程监控中Modbus TCP 转DeviceNet协议下西门子 S7-1200 与温度传感器的智能化精准调控方案

案例背景 在化工行业,反应釜是生产过程中的关键设备,其温度、压力、液位等参数的精准控制对于产品质量和生产安全至关重要。某化工企业的反应釜控制系统采用了基于 Modbus TCP 主站的西门子 S7 - 1200 系列 PLC,负责…

实用指南:【Linux】深入理解Linux的进程(一)

实用指南:【Linux】深入理解Linux的进程(一)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

2025年10月铝型材源头厂家最新推荐排行榜:五大优选企业深度解析!

在铝型材行业需求持续攀升的当下,采购决策正面临多重挑战:部分厂家产能有限导致订单交付延迟,原材料与工艺把控松懈造成产品精度不足,定制服务缺失难以匹配个性化需求,多层级供货推高采购成本。更值得关注的是,近…

2025外贸独立站推广最新权威推荐榜:高效引流与转化实战全解

2025外贸独立站推广最新权威推荐榜:高效引流与转化实战全解在全球数字化转型加速的背景下,外贸独立站已成为中国企业出海的核心阵地。根据最新行业数据显示,通过专业运营的独立站渠道,外贸企业平均获客成本比第三方…

软件工程第三次作业——结对作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class12Grade23ComputerScience/homework/13470这个作业的目标 完…

20232310 2025-2026-1 《网络与系统攻防技术》 实验一实验报告

一、实验目的 篡改程序流程——直接修改可执行文件,跳转至getShell; 栈溢出攻击——利用foo函数的缓冲区溢出漏洞,覆盖返回地址触发getShell; Shellcode注入——构造恶意输入注入自定义Shellcode并执行。 二、基础…

2025年CNC高压清洗机订做厂家权威推荐榜:技术实力与定制

2025年CNC高压清洗机订做厂家权威推荐榜:技术实力与定制在制造业智能化转型的浪潮中,CNC高压清洗机作为精密加工环节的关键设备,正发挥着不可替代的作用。这类设备不仅能有效清除CNC加工过程中产生的切削液、油污和…

K8s学习笔记(八) K8s资源对象 - 教程

K8s学习笔记(八) K8s资源对象 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

小分子抗体药物:突破传统抗体瓶颈,在精准治疗中开辟新赛道

在治疗性抗体药物的大家族中,全长单克隆抗体(IgG,分子量约 150kDa)虽凭借高特异性、长半衰期占据主流,但面对实体瘤深层治疗、中枢神经系统疾病等复杂场景,其分子量大、组织穿透性差的问题逐渐凸显。而小分子抗体…

python nms

https://cloud.tencent.com/developer/article/2151436

2025年PE涂布机定做厂家权威推荐榜:技术实力与定制服务深

2025年PE涂布机定做厂家权威推荐榜:技术实力与定制服务深度解析在新能源、电子元器件、包装材料等行业高速发展的推动下,PE涂布机作为关键生产设备,其市场需求持续攀升。随着工艺要求的不断提高,企业对PE涂布机定做…

OI 笑传 #18

Septembersan今天是 ABC 427 的 DEF。 D 博弈,套路的设状态,令 \(dp_{i,k_1,k_2,op}\) 表示棋子在点 \(i\),Alice 还剩 \(k_1\) 步可以走,Bob 还剩 \(k_2\) 步可以走,现在拿棋子的是 \(op\),\(0\) 是 Alice,\(…