一种分割与组合文件的方法-Java实现
2016-11-13 20:50
561 查看
如果需要传输一个大文件(例如一个8GB的AVI文件)。我们需要将文件分割为几个小的文件碎片,这是为了提高传输的速度与安全性。当接受到这些文件碎片后,又需要将这些碎片重新组合起来,还原为原文件。
分割:
组合:
分割:
public static void backUpFile()throws IOException { String filename="D:\\theWay.mp3";//enter your file name here. System.out.println("Begin"); File soureFile=new File(filename); if(!soureFile.exists()) System.exit(2); BufferedInputStream input2=new BufferedInputStream(new FileInputStream(soureFile)); int num=10; long fileSize=input2.available(); int splitFileSize=(int)Math.ceil(1.0*fileSize/num); System.out.println("......"); for(int i=1;i<=num;++i) { BufferedOutputStream output2=new BufferedOutputStream(new FileOutputStream(new File(filename+i))); int value; int count=0; while(count++<splitFileSize&&(value=input2.read())!=-1) output2.write(value); output2.close(); } input2.close(); System.out.println("OK"); }
组合:
String fileName1="D:\\theWay.mp3",fileName2="D:\\otherWay.mp3"; int num=10; System.out.println("Begin"); File sourceFile=new File(fileName1); File targetFile=new File(fileName2); if(!sourceFile.exists()) System.exit(2); if(targetFile.exists()) System.exit(2); BufferedOutputStream output2=new BufferedOutputStream(new FileOutputStream(targetFile)); System.out.println("......"); for(int i=1;i<=num;i++) { BufferedInputStream input2=new BufferedInputStream(new FileInputStream(new File(fileName1+i))); int value; while((value=input2.read())!=-1) output2.write(value); input2.close();
相关文章推荐
- C#中实现读/写文件(一种常用的方法)...
- 一种实现数据库连接池的方法(JAVA)
- 经过证实的下载文件java实现方法
- Java实现文件拷贝的4种方法
- asp.net实现组合查询的一种方法
- 一种实现数据库连接池的方法(JAVA)
- 经过证实的下载文件java实现方法
- PHP实现文件上传的一种好方法
- 一种点对点文件断点续传的多线程实现方法
- 用Java实现文件分割/合并操作
- Java实现文件拷贝的4种方法.
- 用Java简单实现文件分割与合并
- Java基础:一种实现数据库连接池的方法
- 用Java简单实现文件分割与合并
- 用Java实现文件分割/合并操作
- 用Java实现颜色透明值混算的一种方法
- 通过CMWAP下载大文件一种实现方法
- Java实现文件拷贝的4种方法
- java properties 的六种读取方法 以及一种自己最方便的实现
- 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍