假设我需要读取巨大的整数二进制文件,一个方便的方法是:
FileInputStream fi = new FileInputStream(file);
BufferedInputStream bi = new BufferedInputStream( fi);
DataInputStream di =new DataInputStream(bi);
但是现在说我必须从第 n 个整数开始读取一个巨大的块。到目前为止,我已经自己实现了一种缓冲区:
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
,处理它,然后读取下一个块。
我想知道是否有一些我可以使用的标准缓冲区对象。我想简化我的代码,而不是自己处理缓冲。
欢迎任何提示。雅格布