java18.IO操作------使用带缓冲的字节流读写数据
来源:互联网 发布:centos yum安装svn 编辑:程序博客网 时间:2024/05/16 04:09
一、使用带缓冲的字节流读写数据
示例:
import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class ReadByBufferedByteStream { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("test.mp4"); BufferedInputStream bis = new BufferedInputStream(fis, 100000);// 设定缓冲区大小为100000 FileOutputStream fos = new FileOutputStream("test_copy.mp4"); BufferedOutputStream bos = new BufferedOutputStream(fos, 100000);// 设定缓冲区大小为100000 byte input[] = new byte[100];// 字节数组为100 int count = 0; long before = System.currentTimeMillis(); while (bis.read(input) != -1) { bos.write(input); count++; } bis.close(); fis.close(); bos.close(); fos.close(); System.out.println("用时:" + (System.currentTimeMillis() - before) + "ms"); System.out.println("读取了:" + count + "次"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
结果:
二、使用不带缓冲的字节流(对比上述示例)
示例:
import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class CopyByByteStream { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("test.mp4"); FileOutputStream fos = new FileOutputStream("test_copy.mp4"); byte input[] = new byte[100]; int count = 0; // bytes[50]不够存储图片,所以要用while long before = System.currentTimeMillis(); while (fis.read(input) != -1) { count++; fos.write(input); } fis.close(); fos.close(); System.out.println("用时:" + (System.currentTimeMillis() - before) + "ms"); System.out.println("读取了:" + count + "次"); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
结果:
可以看出时间相对长很多!
因为字节数组为同为100,所以读取次数相同!
0 0
- java18.IO操作------使用带缓冲的字节流读写数据
- JAVA IO :使用带缓冲的字节流读写数据
- 使用带有缓冲的字节流读写数据
- java20.IO操作------使用带有缓冲的字符流读写数据
- java-IO操作——使用带有缓冲的字符流读写数据
- java17.IO操作------使用字节流读写数据
- java-IO操作——使用字节流读写数据
- java--IO 使用带缓冲功能的字节流复制文件
- IO中使用缓冲读写操作控制台数据的newLine()方法
- 使用缓冲字节流:BufferedInputStream与BufferedOutputStream读写数据
- IO流--字节流的读写操作
- 82、java的IO操作-字节缓冲流
- IO流三:字节流文件读写操作、拷贝图片、带缓冲区的字节流、read()原理、读取键盘录入
- IO学习之使用带缓冲的字符流(Buffered)读取数据
- IO学习之使用字节流读写数据
- 【Java】javaIO之带缓冲流的字节流文件读写
- java实现简单的IO字节流读写操作
- IO流(字节流File读写操作)
- 杂论--偶对成篇
- POJ 1065 Wooden Sticks(LIS)
- 被误传的Cookie的Domain属性
- Scala 隐式类型之隐式参数
- 九度OJ 1386(最值) 1387(递归) 1388(递归) 1389(递归) 1390(递归)
- java18.IO操作------使用带缓冲的字节流读写数据
- Python【map、reduce、filter】内置函数使用说明(转载)
- umeng1.统计SDK技术测评
- Handler发送消息小结
- Write .log file
- 挥手2015,笑迎2016
- 文章标题
- rpm程序包管理篇
- 【基础建模】复杂建模-布尔运算和放样学习笔记