2012-01-25 10 views
2

Fileのゼロ以外のオフセットから読み取るには、InputStreamが必要です。これは、ファイルの後半のInputStreamを取得する最も良い方法は?

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

または

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

ストリームを取得し、配置するよりパフォーマンスな方法であるか、あなたがお勧めしたい、より良い方法はありますか?

ファイルから1つのストリームだけが取得されるため、RandomAccessFileを再利用するメリットはありません。

答えて

2

私は、メソッドがまったく同じ方法で動作すると信じています(スキップのデフォルト実装をオーバーライドするFileInputStreamsの場合)。したがって、パフォーマンスには大きな違いはありません。

あなたはこの他に興味があるかもしれませんrelated question

関連する問題