天天看点

将切割的文件合并!

// 其代码漏洞较多,需要知道文件类型,需要知道所切割文件的个数。

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.SequenceInputStream;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Enumeration;

public class HebingDemo {

 public static void main(String[] args) throws IOException {

  // TODO 自动生成的方法存根

  File start = new File("F:\\BB");        //源文件的目录

  File end = new File("F:\\AA\\5.png");    //合并后文件

  mergeFile(start,end);

 }

 public static void mergeFile(File dir,File dir2) throws IOException {

  // TODO 自动生成的方法存根

  ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();

  for (int i = 1; i <7 ; i++) {                   //根据碎文件的后缀名而定。

   al.add(new FileInputStream(new File(dir,i+".part"))); 

  }

  Enumeration<FileInputStream> en =  Collections.enumeration(al);

  SequenceInputStream sis = new SequenceInputStream(en);

  FileOutputStream fos = new FileOutputStream(dir2);

  byte[] buf = new byte[1024];

  int len=0;

  while ((len=sis.read(buf))!=-1) {

   fos.write(buf, 0, len);

  }

  sis.close();

  fos.close();

 }

}