0

Web サーバーから受け取った HttpEntity があります。その HttpEntity を getContentLength() で確認すると、値 > 0 が表示されます。したがって、コンテンツがあるようです。getContent() を実行して InputStream を取得し、その InputStream で read() を実行してコンテンツを取得します。最初の read() 操作で、ストリームが閉じられていることを示す IO Exception がスローされます。

私のコードは次のとおりです。

HttpEntity myEntity = myResponse.getEntity();
InputStream inputStream = myEntity.getContent();
inputStream.read();

したがって、そのストリームで close() を呼び出していません。私が見るデバッガーで myEntity を見て、HttpEntity に何か問題があることを除外することはできません (それが役立つかどうかはわかりません):

is1=EofSensorInputStream
eofWatcher=BasicManagedEntity
selfClosed=true
wrappedStream=null

InputStream の getContentLength() は、HttpEntity の値を示します。

問題を理解するためにどこから始めればよいかわかりません。問題を見つけるために何を確認できますか?

4

1 に答える 1

-1

Please refer to this link which says REPEATABLE entities can use getContent() and writeTo(OutputStream) procedures only once.

To know if your entity is REPEATABLE, use isRepeatable().

于 2015-07-16T10:44:35.477 に答える