Лучший способ получить InputStream для второй половины файла? - PullRequest
2 голосов
/ 26 января 2012

Мне нужно InputStream для чтения из некоторого ненулевого смещения в File.Какой самый эффективный способ получить и расположить поток:

InputStream in = new FileInputStream(file);
in.skip(n);

или

RandomAccessFile raf = new RandomAccessFile(file, "r");
InputStream in = Channels.newInputStream(raf.getChannel().position(n));

Или есть лучший способ, который вы бы предложили?Из файла будет извлечен только один поток, поэтому повторное использование RandomAccessFile.

бесполезно.

1 Ответ

2 голосов
/ 26 января 2012

За кулисами, я полагаю, что методы работают точно так же (для FileInputStreams, которые переопределяют реализацию по умолчанию пропуска). И, следовательно, нет заметных различий в производительности.

Вы можете быть заинтересованы в этом другом связанном вопросе .

...