import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Properties;
/**
* @author James Fancy
* @modifyed by brmrk
*/
public class IniReader {
protected HashMap sections = new HashMap();
private transient String currentSecion;
private transient Properties current;
public IniReader(String filename) throws IOException {
//modifyed by brmrk
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(filename), "UTF-8"));
read(reader);
reader.close();
}
protected void read(BufferedReader reader) throws IOException {
String line;
while ((line = reader.readLine())!=null ) {
parseLine(line);
}
}
protected void parseLine(String line) {
line = line.trim();
if (line.matches("\\[.*\\]")) {
// 如果是 JDK 1.4(不含1.4)以下版本,修改为
// if (line.startsWith("[") && line.endsWith("]")) {
//commented by brmrk
// if (current != null) {
// sections.put(currentSecion, current);
// }
currentSecion = line.replaceFirst("\\[(.*)\\]", "$1");
// JDK 低于 1.4 时
// currentSecion = line.substring(1, line.length() - 1);
current = new Properties();
} else if (line.matches(".*=.*")) {
// JDK 低于 1.4 时
// } else if (line.indexOf('=') >= 0) {
int i = line.indexOf('=');
String name = line.substring(0, i);
String value = line.substring(i + 1);
current.setProperty(name, value);
//added by brmrk
sections.put(currentSecion, current);
}
}
public String getValue(String section, String name) {
Properties p = (Properties) sections.get(section);
if (p == null) {
return null;
}
String value = p.getProperty(name);
return value;
}
}
原来是James Fancy写的,网上找来用了下,自己修改了两处,一处是原来使用FileReader时会出现的乱码问题,一处是必须在ini文件中多给出一个空的[ ]标记问题,不然返回null。
分享到:
相关推荐
`ini4j`提供了方便的API,使得在Java应用程序中读写、修改INI文件变得简单。 **描述解析:** "基于Java的INI文件操作类库 [ini4j].zip" 进一步确认了这个压缩包内容是`ini4j`类库的源代码或二进制文件。`[ini4j]`...
在Java中,可以使用`java.util.Properties`类,它能够读写.properties文件,与INI文件类似。 总的来说,Linux环境下读取INI文件并不困难,关键在于选择合适的编程语言和库,并理解这些库提供的API。通过编写自定义...
要修改ini文件,首先创建一个Ini对象,然后通过其方法设置键值对,最后保存更改: ```java import org.ini4j.Wini; import java.io.File; public class IniWriter { public static void main(String[] args) ...
6. **类设计**:这个压缩包中的“INI文件读写类”可能是面向对象编程的一个实例,包含读取、写入、更新和删除配置项等方法。类的设计应遵循单一职责原则,使代码易于维护和扩展。 7. **API设计**:如果这个类是作为...
1. **Python**:Python有`configparser`模块,可以轻松地读写INI文件。 2. **C++**:可以使用第三方库如`TinyXML`或`pugixml`来解析和操作INI文件,尽管它们原本设计用于XML,但也可以处理类似结构的文本文件。 3....
ini文件是源自Windows系统的简单配置文件格式,由键值对组成,通常用于存储应用设置。它的语法直观易读,但功能相对有限,不支持复杂的嵌套结构。 txt文件则是一种通用文本文件,可以用于任意形式的数据存储,配置...
3. **读写数据**:使用`SerialPort`接口的`getInputStream`和`getOutputStream`方法获取输入流和输出流,进而实现数据的读取和发送。 4. **事件监听**:可以通过注册监听器来实时响应串口的数据接收或状态变化。 5. ...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper PortGroper 是一款java写的开源拒绝服务测试...
其次,该框架可能包含了文件读写功能,比如使用Java的`java.io`或`java.nio`包,C#的`System.IO`,Python的`open()`函数等,来读取配置文件。同时,框架可能会封装对特定格式(如XML或JSON)的解析库,如Java的JAXB...
3. **跨平台兼容性**:由于INI文件格式的通用性,SimpleIni可能设计为跨平台,可以在不同的操作系统上运行,如Windows、Linux、MacOS等。 4. **错误处理**:良好的库会处理可能出现的错误,比如文件不存在、权限...