2011-10-25 73 views
0

我有一個的RandomAccessFile及其FileChannel。我想要做的是從所述文件中讀取特定的字節部分;然而,在查看FileChannel讀取方法的同時,我沒有看到重載可以幫助我嘗試做什麼,只有方法可以讀取整個內容,或者讀取內容到緩衝區中的特定位置方法接受。有沒有一種方法可以幫助我完成讀取特定數據塊的目標,或者我需要將整個通道讀入緩衝區,然後以某種方式解析該部分?閱讀特定字節:Java的

回答

2

您可以使用FileChannel#position(long)前往文件中的特定位置,然後使用read指定所需大小的緩衝區。

+0

上面寫着你指的是?我沒有看到指定緩衝區大小的任何重載讀取。 –

+0

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