import java.io.*;
public class TestCopy{
public static void main(String[] args){
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader("F:/Book/01.txt");
fw = new FileWriter("F:/Book/02.txt");
int c = 0;
while((c = fr.read())!= -1){ fw.write(c); }
//把fr文件的内容复制到fw文件里。 read()可以写成c=fw.read();但write不可以写成c=fw.write().这样编译出错。
fw.flush();
}catch(FileNotFoundException e){ e.printStackTrace();}
catch(IOException e){ e.printStackTrace();}
finally{
try{
if(null != fw){ fw.close();}
if(null != fr){ fr.close();}
}catch(IOException e){ e.printStackTrace();}
}
}
}
为什么 int c=fr.read() 或 int c=0;c=fr.read()
然后while(c!=-1){ fw.write(c);}不行呢? 这样写 会出现无限复制。
能再说的详细点吗 高手 呵呵 我菜鸟
int c = 0;
c = fr.read();
while(c != -1){ } 这样写每次读都是第一个字不会变吗? c.read()不是会依次读出来么?Readline就先不弄 咱太笨了 这个还没明白 想把这个先搞明白 感激·····
你可以在那句代码上加个断点,调试一下,就知道了