代码示例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;
}
}
答案 0 :(得分:0)
它们不等同,所以你无法比较它们。第二个示例不能超出某个文件大小和缓冲区大小,因为'totalBytesRead'将溢出缓冲区。它也浪费了大量的空间。除非你需要缓冲区中的文件内容,否则它是一个毫无意义的替代