如何在文件的特定行之后插入文本

bec*_*cks 2 java io text

我有一个250行的文件.我想在第128行之后插入一些文字.

我只发现我可以在文件的末尾添加一个文本

try {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true)));
    out.println("the text");
    out.close();
} catch (IOException e) {
    //oh noes!
}
Run Code Online (Sandbox Code Playgroud)

可以在这篇文章中找到如何将文本附加到Java中的现有文件中

但没有提到行号或某事.

Jon*_*oni 5

由于文件系统的工作方式,无法在文件中间插入文本.它们实现操作以修改文件的数据块,以及添加和删除文件末尾的块.他们没有实现的是在其他地方添加或删除数据块,因为这些操作固有的复杂性.

您要做的是将前125行复制到新文件,添加要添加的内容,然后复制文件的其余部分.如果您愿意,可以将新文件重命名为旧文件,这样就不会累积临时文件.