2010-12-27 2 views

答えて

6

java.io.RandomAccessFileを使用してください。擬似コード:

byte[] buffer = new byte[100]; 
RandomAccessFile r = new RandomAccessFile("path/to/file", "r"); 
r.seek(200); 
r.read(buffer, 0, 100); 

だけ堅牢性のためにエラーチェックを追加します;-)

ああ、あなたが文字を読みたいと思ったが、ファイル操作がバイトに取り組むと述べました。文字を読みたい場合は、ファイルのエンコーディングについて心配する必要があります。エンコーディングがUTF-8のようなものであれば、各UTF文字は可変バイト数にエンコードできるため、固定バイトインデックスにスキップすることはできません。この場合は、最初からファイルを読み込むだけです。

+0

「検索」は200文字前のすべてのデータをスキャン/読み取りしますか? –

+1

いいえ、 "ファイルポインタ"を配置します。 'RandomAccessFile'のJavaDocsを読んでください。 –

0

java.io.RandomAccessFileをご覧ください。

関連する問題