Скажем, мне нужно прочитать огромный двоичный файл целых чисел, удобный способ:
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
, обработать их и прочитать следующий блок.
Мне было интересно, есть ли какой-нибудь стандартный буферный объект, который я мог бы использовать. Я хотел бы упростить свой код и не заботиться о буферизации самостоятельно.
Любая подсказка приветствуется. Якопо