1

アイテムをダウンロードするためのクラスを作成しています。ダウンロード情報を接続して取得するために、次の方法を使用しています。

public mDownload(String url) throws MalformedURLException {
    this.url = new URL(url);
}

private void connect() throws IOException {
    connection = url.openConnection();
    date = connection.getDate();
--> expiration = connection.getExpiration();
    length = connection.getContentLength();
    lastModified = connection.getLastModified();
}

-->しかし、次の行で強制クラッシュが発生したという報告がいくつかあります。

java.lang.IllegalStateException: getInputStream() is not available. Is this a reentrant call?
        at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:524)
        at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHeaderField(HttpURLConnectionImpl.java:464)
        at java.net.URLConnection.getHeaderFieldDate(URLConnection.java:548)
        at java.net.HttpURLConnection.getHeaderFieldDate(HttpURLConnection.java:702)
        at java.net.URLConnection.getExpiration(URLConnection.java:426)

このエラーが発生する理由と回避方法を教えてください。ありがとう!

4

1 に答える 1

1

この commitを見ると、これは不適切な例外メッセージである可能性があります。応答がデータを返さなかった可能性があります。実際のネットワーク トラフィックを監視することで確認できます。

于 2012-09-12T16:02:54.107 に答える