0

私の目標は、不要なデータ転送を行わずに、ファイル内の特定のバイト位置から始まるリモートサーバー上のファイルからバイトのみを読み取ることです。私の懸念は、終了バイトを指定せずに、読み取りが行われる前に、開始バイトからのファイル全体がバッファーに入れられることです。

この方法でバイト範囲を指定する場合:

urlConn.setRequestProperty("Range","bytes="+byteRangeStart+"-")

その後、InputStreamを取得します。そのInputStreamには、byteRangeStartからファイルの終わりまでのファイルのすべてのバイトが含まれますか?つまり、InputStreamが取得されたときにすべてのデータが転送されますか、それともInputStreamが読み取られたときにのみバイトが転送されますか?

4

1 に答える 1

0

サーバーに特定の位置から開始するように要求しても、クライアントでのURLConnectionの動作には影響しません。

URLConnectionでInputStreamを読み取ると、データは読み取ったときにのみ転送されます。もちろん、どちらかの端などのネットワークバッファにいくつかのデータがありますが、ここではかなり大きなファイルについて話していると思います。

于 2012-09-07T20:45:50.657 に答える