2012-05-07 7 views
-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(バッファ、0、あるbufferSize)。ストリーム既にオープン - 例外

+1

'is'をnullに設定しないので、そのコードは実行できません。実際のコードは何ですか?あなたは 'Math.min()'のことを必要としません: 'read()'はすでにそのように動作します。 – EJP

+0

'content'宣言された変数がないので、そのコードをコンパイルできません。 –

答えて

1

getInputStream()とは相互排他的な別の場所にすでにgetReader()と呼ばれている可能性があります。このコードからは言い難いですが、その答えはちょっとあり得ません。

サーブレットフィールドまたはいくつかの共通変数からInputStreamをフェッチする可能性が高く、2つの要求が読み取りを行います。

関連する問題