黑马程序员技术交流社区
标题:
求助哇:IO复制文件
[打印本页]
作者:
卢祥洲
时间:
2013-6-24 11:44
标题:
求助哇:IO复制文件
本帖最后由 卢祥洲 于 2013-6-24 12:40 编辑
按照毕老师讲的用数组的方式复制C盘下一个文件(FileReaderDemo01.java)到D盘中的一个文件(SystemDemo_copy.txt)里面。但是发现只建立了SystemDemo_copy.txt空白文件,没有往里面写入FileReaderDemo01.java里面的内容,大家帮忙看看代码哪里出错了啊!?
import java.io.*;
public class CopyTextDemo03{
public static void main(String[] args) throws IOException{
copy_2();
}
//先读取字符串,然后把字符串写入文件中。
public static void copy_2(){
FileWriter fw = null;
FileReader fr = null;
try{
fw = new FileWriter("SystemDemo_copy.txt");
fr = new FileReader("FileReaderDemo01.java");
char[] buf = new char[1024];
int len = 0;
while((len=fr.read(buf))!=-1){
//System.out.println(new String(buf,0,len));
fw.write(buf,0,len);
}
}catch(IOException e){
throw new RuntimeException("读写失败");
}finally{
if(fw!=null){
try{
fr.close();
} catch(IOException e){}
}
if(fr!=null){
try{
fr.close();
} catch(IOException e){}
}
}
}
}
复制代码
作者:
王靖远
时间:
2013-6-24 12:08
本帖最后由 王靖远 于 2013-6-24 12:25 编辑
read() 读取单个字符。
read(char[],int off,int len)将字符读入数组的某一部分
这是FileReader的read方法 是不是这里写的有问题
作者:
王靖远
时间:
2013-6-24 12:29
if(fw!=null){
try{
fr.close(); //这里写fw.close()就行了。或者刷新一下。
} catch(IOException e){}
作者:
卢祥洲
时间:
2013-6-24 12:38
王靖远 发表于 2013-6-24 12:29
if(fw!=null){
try{
哎呀妈呀,真这错误,找了2天没找出来,惭愧!谢啦!
作者:
卢祥洲
时间:
2013-6-24 12:39
尹桥印 发表于 2013-6-24 12:33
楼主,你关流关错了。关成两个读取流了,你的写入流没关。个人观点
3QU!的确是流没关闭!
作者:
你的☞样子
时间:
2013-6-24 14:04
第一个fr.close()改为fw.close()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2