我应该编写一个类似于 Unix cp 命令的程序。我找到了这段代码,但无法真正弄清楚它是如何/为什么工作的。
FileInputStream in = new FileInputStream(args[0]);
FileOutputStream out = new FileOutputStream(args[1]);
byte[] buf = new byte[1024];
int i = 0;
while ((i = in.read(buf)) != -1) {
out.write(buf, 0, i);
}
while 循环是如何工作的?我想它以 1024 字节部分从 InputStream 中读取,将它们保存到字节数组 buf,然后将 buf 写入新文件。
但是什么
in.read(buf);
分配给我?while 如何循环遍历整个文件(告诉 in.read(buf) 读取下一个 1024 字节的数据,而不是一遍又一遍的前 1024 个字节)?
谢谢,P。