在文本文件Java的开头写

tor*_*uko 9 java text file

我需要在文本文件的开头写一些东西.我有一个包含内容的文本文件,我想在此内容之前写一些内容.说我有;

大家下午好,先生,你今天好吗?
我很好你怎么样?
谢谢你的提问,我很棒

修改后,我希望它是这样的:

第1页 - 场景59
25.05.2011

大家下午好,先生,你今天好吗?
我很好你怎么样?
谢谢你的提问,我很棒

刚刚编写的内容:)我怎样才能像这样修改文本文件?

Jon*_*eet 23

你无法真正修改它 - 文件系统通常不允许你在任意位置插入数据 - 但你可以:

  • 创建一个新文件
  • 写前缀给它
  • 将数据从旧文件复制到新文件
  • 将旧文件移动到备份位置
  • 将新文件移动到旧文件的位置
  • (可选)删除旧备份文件


hgr*_*rey 8

以防它对某人有用,这里有完整的源代码方法,可以使用Apache Commons IO库将行添加到文件中.代码不会将整个文件读入内存,因此可以处理任何大小的文件.

public static void prependPrefix(File input, String prefix) throws IOException {
    LineIterator li = FileUtils.lineIterator(input);
    File tempFile = File.createTempFile("prependPrefix", ".tmp");
    BufferedWriter w = new BufferedWriter(new FileWriter(tempFile));
    try {
        w.write(prefix);
        while (li.hasNext()) {
            w.write(li.next());
            w.write("\n");
        }
    } finally {
        IOUtils.closeQuietly(w);
        LineIterator.closeQuietly(li);
    }
    FileUtils.deleteQuietly(input);
    FileUtils.moveFile(tempFile, input);
}
Run Code Online (Sandbox Code Playgroud)