-1
private static void fileChunking() throws IOException {
    InputStream is = null;
    OutputStream os = null;
    byte[] buffer;
    int maxBufferSize = 102400;
    int bytesRead, bytesAvailable, bufferSize;
    int responsecode = 0;
    String responsemessage = null;
    bufferSize = Math.min(content.length, maxBufferSize);
    buffer = new byte[bufferSize];
    bytesRead = is.read(buffer, 0, bufferSize);
    while (bytesRead > 0) {
        os.write(buffer, 0, bufferSize);
        bytesAvailable = is.available();
        bufferSize = Math.min(bytesAvailable, maxBufferSize);
        bytesRead = is.read(buffer, 0, bufferSize);
    }

    is.close();
    os.flush();
    responsecode = con.getResponseCode();
    responsemessage = con.getResponseMessage();
    System.out.print(responsemessage);

}

コードは、bytesRead = is.read(buffer, 0, bufferSize); の読み取り中に「Stream already open」という例外をスローします。

4

1 に答える 1

1

getReader()と相互に排他的な他の場所にすでに呼び出されている可能性がありgetInputStream()ます。このコードから言うのは難しいです、そしてその答えは少しありそうにありません。

サーブレットフィールドまたはいくつかの一般的な変数からInputStreamをフェッチする可能性が高く、2つのリクエストが読み取りを行います。

于 2012-05-07T10:03:51.727 に答える