当前位置: 代码迷 >> J2SE >> 关于文件读写有关问题
  详细解决方案

关于文件读写有关问题

热度:81   发布时间:2016-04-23 19:42:45.0
关于文件读写问题?
本帖最后由 u012557814 于 2015-09-14 12:19:50 编辑


                        //文件大小大概3.5M左右
 InputStream is = new FileInputStream(new File("E:\\Taylor Swift - Blank Space [mqms].mp3"));
OutputStream os = new FileOutputStream(new File("E:\\Blank Space [mqms].mp3"));

byte[] b = new byte[1024];//1024个字节

b[1] = 'c';

int len;
long s = System.currentTimeMillis();
while((len = is.read(b)) != -1){
os.write(b, 0 , len);
}
System.out.println(System.currentTimeMillis() - s);


用1024个字节应该装不下大小为3.5M的内容吧?
但是文件可以复制成功.
为什么呀?
------解决思路----------------------
这不是有循环吗……每一次读写都是操作b这个长度的字节数,3.5M的话也就是需要3500次循环
------解决思路----------------------

read(byte[] b)
    方法是从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
    
  相关解决方案