黑马程序员技术交流社区
标题:
关于字节流缓冲区的一个小问题
[打印本页]
作者:
郑正华
时间:
2012-8-9 18:32
标题:
关于字节流缓冲区的一个小问题
在读取字节流文件时,创建了一个BufferedInputStream流,通过字节流的缓冲区来完成,那这时如果自己再自定义一个字节流缓冲区来读取:byte[] b = new byte[任意数],效率是不是更高了?还是没有任何性能上的提升,我已经蒙了!
public static void main(String[] args) throws Exception{
FileInputStream fis = new FileInputStream("xxx.txt");
BufferedInputStream bufis = new BufferedInputStream(fis);//调用了字节流的缓冲区来读取,
byte[] b = new byte[1024];//自己又自定义了一个字节流缓冲区,1024根据具体情况而定,不是固定值。
OutputStream out = System.out;
BufferedOutputStream bufos = new BufferedOutputStream(out);
int len = 0;
while((len =
bufis
.read(b))!=-1){//这里是调用了bufis对象的read方法来读对象b的。
bufos.write(b,0,len);
bufos.flush();
}
}
作者:
张雪磊
时间:
2012-8-9 19:37
public static void main(String[] args) throws Exception{
FileInputStream fis = new FileInputStream("xxx.txt");
BufferedInputStream bufis = new BufferedInputStream(fis);//调用了字节流的缓冲区来读取,
byte[] b = new byte[1024];//自己又自定义了一个字节流缓冲区,1024根据具体情况而定,不是固定值。
OutputStream out = System.out;
BufferedOutputStream bufos = new BufferedOutputStream(out);
int len = 0;
while((len =
bufis
.read(b))!=-1){//这里是调用了bufis对象的read方法来读对象b的。
/*
这列你用的read方法是杜旭一个数组,
*/
bufos.write(b,0,len);
bufos.flush();
}
}
肯定可以提高效率,如果你一个一个读先后就写,那肯定效率就低,如果先把输入流里面的数据读写一个数组,然后用写数组地方法玩外泄,肯定提供了效率
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2