【发布时间】:2014-08-20 08:28:49
【问题描述】:
这是一个复制文本文件的代码我对此有一些疑问:
public class CopyFile {
public static void main(String[] args) {
File f1 = new File("loremipsum.txt");
File f2 = new File("target.txt");
InputStream in = new FileInputStream(f1);
OutputStream out = new FileOutputStream(f2);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
}
}
我知道它还没有完成,我在这部分有一个问题:
while ((len = in.read(buf))> 0){
out.write(buf,0,len);
}
我想知道这部分,首先(len = in.read(buf))> 0 执行并读取数组的所有字节,然后将其长度存储在 len 变量中,
或者读取第一个字节 buf[0] 并将 1 存储在 len 变量中,因为它>0,所以这部分代码 out.write(buf,0,len); 执行并再次 (len = in.read(buf))> 0
还有……。
【问题讨论】:
标签: java inputstream outputstream