gpt4 book ai didi

java - 读取缓冲的二进制文件(使用搜索)

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

假设我需要读取巨大的整数二进制文件,一个方便的方法是:

FileInputStream fi = new FileInputStream(file);
BufferedInputStream bi = new BufferedInputStream( fi);
DataInputStream di =new DataInputStream(bi);

但是现在说我必须从第 n 个整数开始读取一个巨大的 block 。到目前为止,我已经自己实现了一种缓冲区:

RandomAccessFile fp=new RandomAccessFile(file);
fp.seek(position);
byte[] buff= new byte[len];
fp.read(buff, 0, len);
ByteArrayInputStream bIn = new ByteArrayInputStream(buff);
DataInputStream dIn= new DataInputStream(bIn);

现在我可以解析buff中的数据,处理它然后读取下一个 block 。

我想知道是否有一些我可以使用的标准缓冲区对象。我想简化我的代码,而不是自己处理缓冲。

欢迎任何提示。雅各布

最佳答案

看看 NIO。例如,java.nio.MappedByteBuffer。

关于java - 读取缓冲的二进制文件(使用搜索),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4375118/

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