在Java代码中1.先读取文件, 2.根据特定的字段名称截取字段名("LogTime", "SubUser", "App", "AppModule") 3.根据读取的字段名称保存到新文件中 ,4.指定保存新文件的地址
时间: 2023-10-01 22:09:26 浏览: 54
java常见的有用代码,包括文件处理、读某路径下所有文件名、大文本转小文本、删除重复字符等等
下面是一个示例代码:
```
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class LogParser {
public static void main(String[] args) {
String inputFilePath = "path/to/input/file.log";
String outputFilePath = "path/to/output/file.csv";
String[] fieldNames = {"LogTime", "SubUser", "App", "AppModule"};
try (BufferedReader reader = new BufferedReader(new FileReader(inputFilePath));
FileWriter writer = new FileWriter(outputFilePath)) {
// 写入表头
writer.write(String.join(",", fieldNames) + "\n");
String line;
while ((line = reader.readLine()) != null) {
// 分割每一行记录
String[] fields = line.split("\\s+");
// 根据字段名截取对应的字段值
String[] values = new String[fieldNames.length];
for (int i = 0; i < fieldNames.length; i++) {
for (String field : fields) {
if (field.startsWith(fieldNames[i] + "=")) {
values[i] = field.substring(fieldNames[i].length() + 1);
break;
}
}
}
// 写入新记录
writer.write(String.join(",", values) + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个代码会读取指定路径下的输入文件,按行读取每一条记录,然后根据特定的字段名称截取对应的字段值,最后将这些字段值保存到一个CSV格式的输出文件中。你可以根据需要修改输入输出文件的路径和字段名称。
阅读全文