我正在寻找一个小代码片段,它将在文件中找到一行并删除该行(不是内容而是行),但找不到。例如,我在以下文件中:
我的文件.txt:
aaa
bbb
ccc
ddd
需要有这样的功能:public void removeLine(String lineContent)
,如果我通过了removeLine("bbb")
,我得到这样的文件:
我的文件.txt:
aaa
ccc
ddd
这个解决方案可能不是最优的或漂亮的,但它确实有效。它逐行读入输入文件,将每一行写入临时输出文件。每当它遇到与您要查找的内容相匹配的行时,它就会跳过将该行写出。然后它重命名输出文件。我在示例中省略了错误处理、关闭读取器/写入器等。我还假设您要查找的行中没有前导或尾随空格。根据需要更改 trim() 周围的代码,以便找到匹配项。
File inputFile = new File("myFile.txt");
File tempFile = new File("myTempFile.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = "bbb";
String currentLine;
while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine + System.getProperty("line.separator"));
}
writer.close();
reader.close();
boolean successful = tempFile.renameTo(inputFile);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)