ここに示されているのは、ソケット接続の inputStream を読み取る方法に関する 2 つのコード サンプルです。どちらが最適で、その理由は?
コードサンプル 1
while(totalBytesRead < fileSizeFromClient){
int bytesRemaining = fileSizeFromClient - totalBytesRead;
int bytesRead = dataInputStream.read(buffer, 0, (int)Math.min(buffer.length, bytesRemaining));
if(bytesRead == -1){
break;
}else{
dataOutputSream.write(buffer, 0, bytesRead);
totalBytesRead += bytesRead;
}
}
コードサンプル 2
while(totalBytesRead < fileSizeFromClient){
int bytesRemaining = fileSizeFromClient - totalBytesRead;
int bytesRead = dataInputStream.read(buffer, totalBytesRead, bytesRemaining);
if(bytesRead == -1){
break;
}else{
dataOutputStream.write(buffer, totalBytesRead, bytesRead);
totalBytesRead += bytesRead;
}
}