Java 如何将文本文件中的行覆盖到另一个文件中的特定行,而不是附加这些行

Java 如何将文本文件中的行覆盖到另一个文件中的特定行,而不是附加这些行,java,append,overwrite,Java,Append,Overwrite,我的代码将文本文件(A)中的行附加到另一个文件(B)中的特定行,如 我 上午 (以上行是固定的,不能覆盖) 学生(从文本文件中添加了新字符串) 现在(新字符串…) 如何将这些行覆盖到文件(B)中,而不是附加到文件(B)中 您可以使用java.io.RandomAccessFile访问文件(B)并将其写入所需位置。我想知道是否可以创建一个临时文件并将文件(B)中的固定行添加到此临时文件,在运行代码后,我可以删除文件B并将临时文件重命名为文件(B)的名称。现在我不确定是否能满足您的要求。你能举一个

我的代码将文本文件(A)中的行附加到另一个文件(B)中的特定行,如

  • 上午
  • (以上行是固定的,不能覆盖)
  • 学生(从文本文件中添加了新字符串)
  • 现在(新字符串…)

  • 如何将这些行覆盖到文件(B)中,而不是附加到文件(B)中

    您可以使用
    java.io.RandomAccessFile
    访问文件(B)并将其写入所需位置。

    我想知道是否可以创建一个临时文件并将文件(B)中的固定行添加到此临时文件,在运行代码后,我可以删除文件B并将临时文件重命名为文件(B)的名称。现在我不确定是否能满足您的要求。你能举一个fileA和fileB的例子吗?正如我所说,我将文件B复制到临时文件,然后运行此函数并删除,然后将临时文件重命名为文件B的名称。
    public class AddSingleInstance {
    public void addinstances(String txtpath,String arffpath) throws IOException {
    BufferedReader reader = new BufferedReader(new FileReader("C:\\src\\text.txt"));
    FileWriter fw = new FileWriter("C:\\src\\" + test.txt,true);
    StringBuilder sb = new StringBuilder();
    //String toWrite = "";
    String line = null;   
    while ((line = reader.readLine())!= null){
       // toWrite += line;
        sb.append(line);
        sb.append("\n");
    }
     reader.close();
     fw.write(sb.toString());
     fw.flush();
     fw.close();
     }
    }