java txt文件转为ini格式文件
时间: 2023-06-22 22:45:32 浏览: 225
JAVA写的读取ini文件
以下是将 Java 中的 TXT 文件转换为 INI 格式文件的示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class TxtToIniConverter {
public static void main(String[] args) {
String inputFilePath = "input.txt"; // 输入文件路径
String outputFilePath = "output.ini"; // 输出文件路径
try {
Map<String, Map<String, String>> data = readTxtFile(inputFilePath);
writeIniFile(data, outputFilePath);
System.out.println("转换成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
private static Map<String, Map<String, String>> readTxtFile(String filePath) throws IOException {
Map<String, Map<String, String>> data = new HashMap<>();
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
String[] parts = line.split("=");
if (parts.length == 2) {
String section = parts[0].trim();
int index = section.indexOf(".");
if (index != -1) {
String key = section.substring(index + 1).trim();
String value = parts[1].trim();
String sectionName = section.substring(0, index).trim();
Map<String, String> sectionData = data.get(sectionName);
if (sectionData == null) {
sectionData = new HashMap<>();
data.put(sectionName, sectionData);
}
sectionData.put(key, value);
}
}
}
}
return data;
}
private static void writeIniFile(Map<String, Map<String, String>> data, String filePath) throws IOException {
try (FileWriter fw = new FileWriter(filePath)) {
for (Map.Entry<String, Map<String, String>> sectionEntry : data.entrySet()) {
fw.write("[" + sectionEntry.getKey() + "]\n");
for (Map.Entry<String, String> entry : sectionEntry.getValue().entrySet()) {
fw.write(entry.getKey() + " = " + entry.getValue() + "\n");
}
fw.write("\n");
}
}
}
}
```
这个示例代码将会读取 `input.txt` 文件中的数据,然后将其转换为 INI 格式,并将结果写入到 `output.ini` 文件中。在读取 TXT 文件时,我们将每一行按照等号(=)进行分割,然后将分割后的数据按照 section 和 key-value 的形式存储到一个 Map 中。在写入 INI 文件时,我们遍历这个 Map,将数据按照 INI 格式写入到文件中。
阅读全文