gpt4 book ai didi

Java:替换部分文件而不用再次写入整个文件

转载 作者:行者123 更新时间:2023-12-03 12:12:09 26 4
gpt4 key购买 nike

是否可以在不将整个文件重写到磁盘的情况下替换部分文件内容。假设我有一个几千兆字节的非常大的文件,我如何在不重写整个文件的情况下替换从位置 100 到 200 的字节?

作为额外的奖励,我需要一个不使用 java 1.4 以外的任何功能的解决方案。

最佳答案

如果您肯定您将要写入完全相同数量的字节,则可以使用 RandomAccessFile来完成这个(从 Java 1.0 开始可用)。只需打开文件,搜索到您需要的位置,然后用您的新数据覆盖这些字节。

RandomAccessFile f = new RandomAccessFile(new File("C:\\test\\huge.txt"), "rw");
f.seek(100); // Seek ahead
f.write("here is some new stuff".getBytes())

您还可以以相同的方式在任意点读取文件,以防您不知道需要替换多少数据(例如,您可以填充/截断您正在写入的任何内容以避免做某事可怕的意外)。

关于Java:替换部分文件而不用再次写入整个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548759/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com