java基础------存取大文件数据
2015-07-04 10:53
537 查看
实现原理:通过while循环分次读取数据
生成输入流对象FileInputStream();
生成输出流对象FileOutPutStream();
生成字节字数数组Btye[1024];
通过While循环每次read字节数组的最大值,当read返回值是-1的时候,说明读取完毕,跳出循环break
通过write写出数据(需要在read的同时写出数据,write的执行应该在read之后,且循环结束前)
因为read的返回值为每次读入数据的长度,所以write写入数据的长度为read的长度
生成输入流对象FileInputStream();
生成输出流对象FileOutPutStream();
生成字节字数数组Btye[1024];
通过While循环每次read字节数组的最大值,当read返回值是-1的时候,说明读取完毕,跳出循环break
通过write写出数据(需要在read的同时写出数据,write的执行应该在read之后,且循环结束前)
因为read的返回值为每次读入数据的长度,所以write写入数据的长度为read的长度
public class Test extends Student { public static void main(String[] args) throws IOException { FileInputStream fileInputStream=new FileInputStream("D:\\test.zip"); FileOutputStream fileOutputStream=new FileOutputStream("D:\\test1.zip"); try{ //创建缓存区大小 byte[] buffer =new byte[1024]; while(true){ //创建一个临时存储区 int temp=fileInputStream.read(buffer,0,buffer.length); if(temp==-1){ break; } //写出文件 fileOutputStream.write(buffer,0,temp); } }catch (Exception e){ e.printStackTrace(); }finally { fileInputStream.close(); fileOutputStream.close(); } } }
相关文章推荐
- java深入解析-第1章 基本概念2
- Spring MVC @Transactional注解方式事务失效的解决办法
- javassis在spring初始化前修改class文件。
- eclipse快捷键(含Debug调试)
- 2015070402 - EffactiveJava笔记 - 第56条 遵守普遍命名规范(1)
- Java单例模式复习(三)
- Java单例模式复习(二)
- Java单例模式复习(-)
- java 简体转繁体
- Spring 从零开始-02
- eclipse不能创建java虚拟机-解决方法
- Java记录 -2- 原生数据类型
- spring4.1+springmvc4.1+mybatis3.2.8+spring-security3.2.5集成环境建设
- Java知多少(112)数据库之删除记录
- eclipse打开过的工程信息保存路径
- 如何看待java的this???
- 2015070401 - EffactiveJava笔记 - 第55条 谨慎地进行优化(4)
- Java解惑
- SpringMVC(一) HelloWorld
- 如何看待:java支持图形用户界面???