gpt4 book ai didi

Java从文件中的任意位置打开流

转载 作者:行者123 更新时间:2023-11-29 03:53:07 25 4
gpt4 key购买 nike

我想从现有文件中的任意位置获取流,例如,我需要从第 101 个字节开始读取/写入文件。使用类似的东西安全吗?

final FileInputStream fin = new FileInputStream(f);
fin.skip(100);

Skip javadoc告诉它有时跳过的字节数可能少于指定的字节数。那我该怎么办呢?

最佳答案

您不能使用 FileInputStream 进行写入。如果要写入文件中的任意位置,则需要使用 RandomAccessFile。 不幸的是,没有简单的方法将 RandomAccessFile 用作 InputStream/OutputStream (看起来 @aix 可能对将 RandomAccessFile 适配为 InputStream/OutputStream 有一个很好的建议),但是网上有各种示例适配器.

另一种选择是使用 FileChannel。您可以直接设置 FileChannel 的位置,然后使用 Channels 实用程序方法在 Channel 顶部获取 InputStream/OutputStream 适配器。

关于Java从文件中的任意位置打开流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7810151/

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