我需要一个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
没有任何好处。
答案 0 :(得分:2)
在幕后我相信这些方法的工作方式完全相同(对于覆盖skip的默认实现的FileInputStreams)。因此,性能没有明显差异。
您可能对其他related question感兴趣。