栗田工业大连有效公司网站哪年做的,如何做运营推广,射洪哪里可以做网站,国内特效网站1、缓冲流#xff1a;属于高级IO流#xff0c;并不能直接读写数据#xff0c;需要依赖于基础流。缓冲流的目的是为了提高文件的读写效率#xff1f;那么是如何提高文件的读写效率的呢#xff1f;
在内存中设置一个缓冲区#xff0c;缓冲区的默认大小是8192字节#xff…1、缓冲流属于高级IO流并不能直接读写数据需要依赖于基础流。缓冲流的目的是为了提高文件的读写效率那么是如何提高文件的读写效率的呢
在内存中设置一个缓冲区缓冲区的默认大小是8192字节8K从文件中读取的内容先存储到缓冲区当缓冲区内容填充满了之后才会将缓冲区的内容通过输出流写出到文件这样就减少了文件之间的传输次数从而提高了文件的读写效率
2、缓冲字节输入流/缓冲字节输出流读入与写出
方法名说明BufferedOutputStream(OutputStream out)创建字节缓冲输出流对象BufferedInputStream(InputStream in)创建字节缓冲输入流对象
1、案例 // 创建一个字节缓冲输入流BufferedInputStream bis new BufferedInputStream(new FileInputStream(day16_io\\01.jpg));// 创建一个字节缓冲输出流BufferedOutputStream bos new BufferedOutputStream(new FileOutputStream(day16_io\\02.jpg));long start System.currentTimeMillis();// 2. 具体的读写操作byte[] bs new byte[1024];int len bis.read(bs);while(len ! -1){bos.write(bs, 0, len);len bis.read(bs);}long end System.currentTimeMillis();System.out.println(end - start);// 3. 关闭资源bis.close();bos.close(); 2、练习复制视频文件 public static void main(String[] args) {BufferedInputStream bis null;BufferedOutputStream bos null;/*** 缓冲流*/try {bis new BufferedInputStream(new FileInputStream(D://hecheng.mp4));bos new BufferedOutputStream(new FileOutputStream(D:// UUID.randomUUID().mp4));//1. 记录起始时间点long start System.currentTimeMillis();byte [] nums new byte[1024];int len -1;while((len bis.read(nums)) ! -1){bos.write(nums,0,len);}//2. 记录终点毫秒数long end System.currentTimeMillis();System.out.println(复制成功时间长(end-start));} catch (IOException e) {e.printStackTrace();}finally {try {if (bis ! null) {bis.close();}if (bos ! null) {bos.close();}}catch (IOException e){e.printStackTrace();}}}
3、字节流总结 关于字节缓冲流还可以看看我这篇博客Java下字节缓冲流的读入和写出
本电子书目录 《Java基础的重点知识点全集》