0
以下のコードは期待どおりに動作することがありますが、それ以外の場合は空のファイルが作成されずに作成されます。私はここで何をやったのですか?ここで私は時々言及した。コードは、サーバーからファイルをダウンロードすることです。 readSizeが示すごとに、期待される量をストリームから読み込んでいます。しかし、必ずしもそれらがファイルに書き込まれているとは限りません。 while
条件が偽であるようFileoutputStreamで空のファイルを作成することがあります
byte[] bytes = new byte[socket.getSendBufferSize()];
long readSize = 0;
int length = 0;
System.out.println(fileSize);
while (readSize < fileSize
&& (length = socket.getInputStream().read(bytes)) != -1) {
fileOutputStream.write(bytes, 0, length);
readSize += length;
fileOutputStream.flush();
}
fileOutputStream.flush();
fileOutputStream.close();
socket.close();
データはどこから来ますか?つまり、ソケットは何に接続していますか?何が間違っているかを見るためにデバッガのコードを踏んだことはありますか? –