黑马程序员技术交流社区
标题:
字符的写入!!!!
[打印本页]
作者:
小黑-张颖
时间:
2011-9-5 06:20
标题:
字符的写入!!!!
class Copy
{
public static void copy(String from, String to)
{
FileReader fr=null;
FileWriter fw=null;
try
{
fr=new FileReader(from);
fw=new FileWriter(to);
char[] cbuf=new char[1024];
int length;
while((length=fr.read(cbuf))!=-1)
{
fw.write(cbuf,0,length);
}
}catch(Exception e)
{
e.printStackTrace();
}
finally{
try{fr.close();
fw.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
在本文加粗的部分,length=fr.read(cbuf)的意思是把fr中的内容读入到数组cbuf中,然后写入到输出流。但是这里把内容读到数组中是一次性读的还是怎么读的。
作者:
匿名
时间:
2011-9-5 06:41
看一下这个帖子,大概就明白了
[url]http://bbs.itheima.com/thread-1343-1-1.html[/url]
作者:
匿名
时间:
2011-9-5 10:10
可以这样理解,你要读的数据是小水滴,cbuf数组是一个桶,这个桶多大就看你将这个数组设置多大,read(cbuf)就是往里面储水,等到cbuf这个桶的水满了再給write拿去用,wirte是有多少用多少,用到没就给read重新装。
作者:
匿名
时间:
2011-9-5 13:10
是一个一个读 每次循环 都会读一个 然后read会自动移到下一个去 再循环到那的时候 又把下一个读过来 然后read又会去下下个准备读 就是这样 以前我也问过这问题 等读完最后一个的时候 read就会返回个 - 1了 所以循环也就停止了:lol
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2