java.io.InputStream
ストリームの先頭から複数回読み取ろうとしています。
明らかに、に戻るストリームのtrue
場合、markSupported()
試して使用してから、ストリームを最初から再度読み取ることができます。mark(availableBytes)
reset()
ほとんどのストリームはマークをサポートしておらず、マークをサポートしているもの (たとえばjava.io.BufferedInputStream
) 一時的なバイト配列にデータをコピーしますが、これはメモリ消費などの点で適切ではありません。
メソッドがパラメーターとして受け取った場合、java.io.InputStream
それを閉じてから再度開いて、同じ元のストリームを一番上にリセットして、再度読み取ることができますか?
InputStream
元のファイルをメモリ (yak!) または一時ファイルに書き込む以外に、このトリックを実行する方法を見つけることができませんでしInputStream
た。ストリームをもう一度上から読み取る必要がある場合は、それらの一時的な場所に新しいファイルを開きます。