特定のバイトから読み取りを開始するにはどうすればよいですか? 私は次のコードを持っています:
try {
while ( (len = f.read(buffer)) > 0 ) {}
}
たとえば、バイト 50 から読み取りを開始したいとします。
スキップ方法を使用する必要があります。 http://developer.android.com/reference/java/io/InputStream.html#skip(long)
必要なバイト数をスキップできます。
int nbToSkip = 50
while (nbToSkip > 0) {
int nbSkipped = f.skip( nbToSkip );
nbToSkip -= nbSkipped ;
}
「f」のタイプはわかりませんが、ある種のストリームであると仮定します。
また、50 バイトのブロックで読み取りたいということですか、それともストリームの 50 番目のバイトから開始するということですか? 私は後者を仮定します。
どの言語を使用しているかはわかりませんが、とにかくここに行きます:
次のように、ストリーム内の特定の位置をシークできるシークのような関数があるかもしれません。
f.seek(50, SEEK_START);
それ以外の場合は、ストリームから 50 バイト、または 1 バイトの 50 倍を読み取るだけで、貧弱な方法でそれを行うことができます。
これ以上参照せずに良い答えを出すのは難しいです。