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

标签 java text io

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

我只发现我可以在文件末尾附加一个文本 喜欢

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

这是在这篇文章中找到的 How to append text to an existing file in Java

但没有提及行号或某事。

最佳答案

由于文件系统的工作方式,无法在文件中间插入文本。它们实现了修改文件数据 block 以及在文件末尾添加和删除 block 的操作。由于 inherent complexities of these operations,他们没有实现的是在其他任何地方添加或删除数据 block 。 .

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

关于java - 如何在文件的特定行之后插入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473303/

相关文章:

ios - 替换 iOS 中的 NSLayoutManager 类

c++ - Radeon 卡是否可以从 DisplayPort 读取数据(使用 OpenCL)?

haskell - 在 Haskell 中,有没有办法在函数保护中进行 IO?

java - 使用 WebDriver 查找元素时出现 ElementNotInteractableException 异常

java - 使用 Java 和 Saxon 发现可选 XML 属性

java - 自定义 ControlsFX 通知

css - 使用 CSS 将页面标题文本旋转 90 度

java - 单击 JFrame 中的 JButton 时如何更改现有图像? ( java )

Android:Spinner 小部件的文本颜色属性隐藏在哪里?

Java 文件 - 您可以使用 readUTF 从文本文件中读取字符串吗?