FileReader fr = new FileReader("xxx.txt");
FileWriter fw = new FileWriter("copy.txt");
int c;
while((c = fr.read()) != -1) {
fw.write(c);
}
fr.close();
//fw.close();
这个FIleWriter字符输出流继承的父类Writer底层代码显示有一个1024长度的字符缓冲区, 进行复制的时候, 如果最后没有关闭输出流, 数据会存储在缓冲区, 复制的文件就会为空 .
我的问题是: 我的xxx.txt文件设置了2000字节, 大于输出流缓存区长度, 也没有关闭输出流. 运行结果, 文件还是为空, 为什么不会复制, 不是应该会复制1024个字节过去, 而在缓冲区流剩下的部分吗? 求大神解答
|
|