2011-10-25 42 views
0

我有一个的RandomAccessFile及其FileChannel。我想要做的是从所述文件中读取特定的字节部分;然而,在查看FileChannel读取方法的同时,我没有看到重载可以帮助我尝试做什么,只有方法可以读取整个内容,或者读取内容到缓冲区中的特定位置方法接受。有没有一种方法可以帮助我完成读取特定数据块的目标,或者我需要将整个通道读入缓冲区,然后以某种方式解析该部分?阅读特定字节:Java的

回答

2

您可以使用FileChannel#position(long)前往文件中的特定位置,然后使用read指定所需大小的缓冲区。

+0

上面写着你指的是?我没有看到指定缓冲区大小的任何重载读取。 –

+0

@ChrisV。创建所需大小的ByteBuffer。或者只是使用RandomAccessFile.read(buffer,int,int),除非你有强烈的使用通道的理由。 – EJP