A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高阳 中级黑马   /  2013-1-1 10:33  /  1125 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void main(String[] args) throws IOException {
  FileInputStream in=new FileInputStream("d:\\a.txt");
  FileOutputStream ou=new FileOutputStream("d:\\d.txt");
  //每次读取一个字符
//  int i=0;
//  while((i=in.read())!=-1){
//   ou.write(i);
//  }
  //每次读取一个字节数组
  byte[]bys=new byte[1024];
  int i=0;
  while((i=in.read(bys))!=-1){
   ou.write(bys,0,i);
  }
  ou.close();
  in.close();
}
不适用高效字节流也能使用数组传递,那他是怎么高效的

评分

参与人数 1技术分 +1 收起 理由
邵天强 + 1

查看全部评分

2 个回复

倒序浏览
使用缓冲。
回复 使用道具 举报
其实你想想你买电脑的时候,我们已经有内存了,为什么电脑里面还有2级缓存,3级缓存呢?而且缓存大一点的价格要贵很多,其实也是同样的道理,既然我们都能想到使用数组来缓存数据,那么那些写java出来的牛人会想不到使用这些方法吗?答案是肯定的,而且多级的缓存能够更加高效。其实你自己可以写个程序测试下这两者的区别,使用System的一个方法,获取前后的时间差,你就会发现这两者的区别了,确实高效是很有效果的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马