2011-10-25 2 views
0

私はRandomAccessFileとFileChannelを持っています。私がしようとしているのは、上記のファイルからバイトの特定のセクションを読み込むことです。しかし、FileChannelのreadメソッドを見渡しながら、私がやろうとしているものに役立つオーバーロード、コンテンツ全体を読み込むメソッド、またはバッファ内の特定の位置に読み込みを行うメソッドしかないメソッドが取り込みます。特定のチャンクのバイトを読み込む目的を達成するのに役立つ方法がありますか?または、チャンネル全体をバッファに読み込んで、何らかの方法でセクションを解析する必要がありますか?FileChannelを使用してRandomAccessFileから特定のバイトを読み込みます。Java

答えて

2

FileChannel#position(long)を使用してファイル内の特定の位置に移動し、次に希望するサイズのバッファをreadにすることができます。

+0

お読みになりたいのはどちらですか?私は、バッファサイズを指定するオーバーロードされた読み込みが表示されません。 –

+0

@ChrisV。必要なサイズのByteBufferを作成します。または、チャンネルを使用する強い理由がない限り、RandomAccessFile.read(buffer、int、int)を使用してください。 – EJP

関連する問題