查找并替换文本文件

时间:2016-04-13 12:40:19

标签: java text replace find

我有一个带有一些数据的文本文件,我想逐行读取文件然后找到并替换。

在文本文件中,我想找到" _x"并用它的第二个前一行替换它,这意味着我想要最终的输出文件,如下面的

input

a
a=10
c=_x
b
b=20
d=_x


Output

a
a=10
c=a
b
b=20
d=b

我试图逐行阅读文件,但我不能。如何逐行阅读文本文件并将其替换为第二行前一行????

2 个答案:

答案 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));