gpt4 book ai didi

java-读取文件中的最后2行并删除最后一行,然后在文件末尾添加2个固定字符串值

转载 作者:行者123 更新时间:2023-11-30 04:58:37 25 4
gpt4 key购买 nike

我想读取某些文件的最后两行,如果倒数第二行的内容与特定字符串匹配,则只删除最后一行。

另外,经过上述操作后,修改后的文件末尾还需要追加2行数据。我在 SO 上看到了其他问题,这些问题涉及我的问题的不同部分,但是有没有一种简单的方法可以用最少的代码(最好是在单个函数中)完成上述所有操作? (我可以组合 SO 提供的不同功能,但这会很困惑......)

最佳答案

我建议您“在内存中”执行此操作。可以轻松地逐行读取List,检查最后几行并更新这些行并将其写回文件。

<小时/>

示例:

public static void main(String[] args) throws IOException {

String fileName = "test.txt";

List<String> lines = new ArrayList<String>();

// read the file into lines
BufferedReader r = new BufferedReader(new FileReader(fileName));
String in;
while ((in = r.readLine()) != null)
lines.add(in);
r.close();

// check your condition
String secondFromBottom = lines.get(lines.size() - 2);
if (secondFromBottom.matches("Hello World!")) {
lines.remove(lines.size() - 1);
lines.add("My fixed string");
}

// write it back
PrintWriter w = new PrintWriter(new FileWriter(fileName));
for (String line : lines)
w.println(line);
w.close();
}

注意:上面的示例中没有进行异常处理...您需要处理文件不包含两行的情况以及其他问题!

关于java-读取文件中的最后2行并删除最后一行,然后在文件末尾添加2个固定字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684065/

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