【发布时间】:2021-07-07 12:10:36
【问题描述】:
我正在尝试为文本上的特定行执行字符串 .contains() 我正在使用 Files.readAlllines 读取文件的行。 我正在尝试做
Path c1=Paths.get(prop.getProperty("testPWP"));
List<String> newLines1 = new ArrayList<String>();
for (String line : Files.readAllLines(c1, StandardCharsets.UTF_8)) {
if (line.contains("return test ;\r\n" + " }")) {
newLines1.add( line.replace("return test ;\r\n" +
" }", "return test ;\r\n" +
" }*/"));
}
else {
newLines1.add(line);
}
}
Files.write(c1, newLines1, StandardCharsets.UTF_8);
我基本上试图在 return 语句之后注释 } 但包含函数没有将其重新识别为文件中的新行。 对这个问题有帮助吗?
【问题讨论】:
-
Files.readAllLines()按行分隔符拆分输入(即两行文本作为两个字符串返回)。您的搜索模式包含行终止符,因此永远无法找到 - 您必须在两个不同的字符串中搜索第一部分和第二部分。 -
@ThomasKläger 但我无法单独搜索,因为文件中有其他 } 这就是为什么我将整个字符串作为
-
你能用我上面的代码显示任何建议来读取和修改然后写入同一个文件@ThomasKläger