黑马程序员技术交流社区
标题:
关于IO流的一个小疑问
[打印本页]
作者:
王利强
时间:
2012-3-18 23:32
标题:
关于IO流的一个小疑问
下面是关于文件copy的一小段代码,在单个字符存取与字符数组存取这两种方法在效率问题上有点疑问
,谁能给我详细地解释下,我只知道字符数组存取效率高,但不是特别清楚中间过程的对比,毕老师讲了没有听懂
FileReader fr=new FileReader("demo.txt");
FileWriter fw=new FileWriter("demo1.txt");
char[] ch=new char[1024];
int num=0;
while((num=fr.read(ch))!=-1)
fw.write(ch,0,num);
fr.close();
fw.close();
}
作者:
吴超
时间:
2012-3-18 23:41
本帖最后由 吴超 于 2012-3-18 23:55 编辑
FileReader fr=new FileReader("demo.txt");
FileWriter fw=new FileWriter("demo1.txt");
char[] ch=new char[1024];//定义一个缓冲区,1024为存放大小(可以自己定义大小) 就像你用筷子吃饭和用勺子挖,那个更多呢~
int num=0;
while((num=fr.read(ch))!=-1)//查看API-------read方法
fw.write(ch,0,num);
fr.close();//关闭资源
fw.close();;//关闭资源
}
作者:
李飞
时间:
2012-3-19 00:02
1. 数组相当于是一个缓冲区,一个一个的读取字符
2. 当我读够数组长度的字符时,再一次性写入到文件中;否则,读一个字符,再转换写流,在写一次;来回的效率低
就比方:数组就是一个杯子,先一滴一滴的水倒入杯子中,再一次性喝了,比一滴一滴的喝快多了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2