gpt4 book ai didi

java - 在文件中查找一行并将其删除

转载 作者:IT老高 更新时间:2023-10-28 20:22:32 24 4
gpt4 key购买 nike

我正在寻找一个小代码片段,它将在文件中找到一行并删除该行(不是内容而是行)但找不到。因此,例如,我在以下文件中有:

myFile.txt:

aaa
bbb
ccc
ddd

需要有这样的函数:public void removeLine(String lineContent),如果我通过removeLine("bbb"),我得到这样的文件:

myFile.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);

关于java - 在文件中查找一行并将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1377279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com