【发布时间】:2018-01-09 04:50:38
【问题描述】:
对不起,各位。这是一个Java初学者的问题,但我认为这对很多Java学习者会有帮助。
FileInputStream fis = new FileInputStream(file);
OutputStream os = socket.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while((len=fis.read(buffer)) != -1){
os.write(buffer, 0, len);
}
上面的代码是 FileSenderClient 类的一部分,用于使用 java.io 和 java.net.Socket 将文件从客户端发送到服务器。
我的问题是:在上面的代码中,我们为什么要使用
os.write(buffer, 0, len)
而不是
os.write(buffer)
换一种方式来问这个问题:“OutputStream.write()”方法有一个“len”参数有什么意义?
似乎两个代码都运行良好。
【问题讨论】: