import java.io.*;
import java.util.Arrays;
public class TestIO {
public static void main(String args[]){
FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader("c:\\a.txt");
fw = new FileWriter("d:\\b.txt");
int ch = 0; 第一: //int ch = fr.read(); 第二://int ch = fr.read();
while((ch=fr.read())!=-1){ //while(ch!=-1){ //while((ch=fr.read())!=-1){
fw.write(ch);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
if(fr!=null)
fr.close();
if(fw!=null)
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
我的问题是:原代码是正确的,但是将代码换成第一和第二这两种写法时为什么导致的结果会不一样?
第一种造成内存使用超高最后导致进程无响应,第二种的话文件的第一个字符复制不过去,请各位大哥大神帮小弟解答。跪求
|