//文件大小大概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 数组中。