我有一个带有一些数据的文本文件,我想逐行读取文件然后找到并替换。
在文本文件中,我想找到" _x"并用它的第二个前一行替换它,这意味着我想要最终的输出文件,如下面的
input
a
a=10
c=_x
b
b=20
d=_x
Output
a
a=10
c=a
b
b=20
d=b
我试图逐行阅读文件,但我不能。如何逐行阅读文本文件并将其替换为第二行前一行????
答案 0 :(得分:0)
要逐行读取文本文件,您需要这样的结构:
Charset charset = Charset.forName("US-ASCII");
String s = ...;
try (BufferedWriter writer = Files.newBufferedWriter(file, charset)) {
writer.write(s, 0, s.length());
} catch (IOException x) {
System.err.format("IOException: %s%n", x);
}
完成更换后的东西时,你想要写下" new"像这样的文件:
process = new QProcess(this);
// launching plink by script
process->start(plinkLauncherScriptPath, arguments);
答案 1 :(得分:0)
Path path = Paths.get("test.txt");
Charset charset = StandardCharsets.UTF_8;
String content = new String(Files.readAllBytes(path), charset);
content = content.replaceAll("_", "");
Files.write(path, content.getBytes(charset));