如果需要传输一个大文件(例如一个 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++组合: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();
来源: http://www.92to.com/bangong/2016/12-03/13846174.html