2

Android で BufferedReader を使用して http ストリーム接続を受信して​​います。受信したメッセージを解析するときにコードを使用します。

url = new URL(HOST_URL_PUSHMESSAGE);
urlConnection = url.openConnection();
in = (InputStream) urlConnection.getContent();
reader = new BufferedReader(new InputStreamReader(in));
line = reader.readLine();
in.close();

うまく機能しているように見えますが、いつかIOExceptionが発生しました-16進チャンクサイズが予想されましたが..

line = reader.readLine();

これはどのように発生し、どのように解決できますか? bufferedreader のサイズを変更すると効果がありますか? ありがとう

4

1 に答える 1

1

ソース http://www.java2s.com/Open-Source/Android/android-core/platform-libcore/org/apache/harmony/luni/internal/net/www/protocol/http/ChunkedInputStream.java.htmを参照してください そこで例外が発生します

try {
    bytesRemainingInChunk = Integer.parseInt(chunkSizeString.trim(), 16);
} catch (NumberFormatException e) {
    throw new IOException("Expected a hex chunk size, but was " + chunkSizeString);
}

データに誤りがあるようです。

于 2012-05-08T13:05:24.580 に答える