【问题标题】:How to overwrite file content at specific position in Java? [duplicate]如何覆盖Java中特定位置的文件内容? [复制]
【发布时间】:2019-05-04 08:52:39
【问题描述】:

我正在处理大文件,我想覆盖特定位置的内容文件,如下所示:

helloworld123456

在第 6 个单词处覆盖新内容“internet”

hellointernet456

非常感谢

编辑: RandomAccessFile 可以直接查找和写入文件及其工作

randomAccessFile.seek(5); 
randomAccessFile.write("internet".getBytes());

【问题讨论】:

  • 读取文件,修改内存,写入文件
  • 但我想直接写入文件,它的文件非常大
  • 除非文件是可搜索的,否则文件 I/O 不是这样工作的
  • 如果它是一个“大”文件,那么您将需要部分读取,进行您需要的任何修改并写入第二个文件,完成后,删除原始文件并将第二个文件重命名为它的位置
  • 我找到了做到这一点的方法:D 通过使用 RandomAccessFile 我可以找到特定的位置,我知道它的效果如何,但它的工作原理,谢谢你的回答 randomAccessFile.seek(5); randomAccessFile.write("internet".getBytes());

标签: java file file-io


【解决方案1】:

在这里回答:

您不能将数据插入文件。您可以使用 RandomAccessFile 覆盖特定位置的数据。但是,插入需要更改其后的所有数据。

how to write content in a Specific position in a File

【讨论】:

    猜你喜欢
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-26
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多