本帖最后由 danielzyj 于 2014-3-28 08:14 编辑  
- package cn.baidu.com;
 
 -  
 
 - import java.io.*;
 
 - import java.util.*;
 
 - //
 
 - public class SplitFile {
 
  
-         public static void main(String[] args) throws IOException {
 
 -                 splitFile();
 
 -                 merge();
 
 -         }
 
 -         public static void merge() throws IOException
 
 -         {
 
 -                 ArrayList<FileInputStream> a1=new ArrayList<FileInputStream>();
 
 -                 
 
 -                 for(int x=1;x<=3;x++)
 
 -                 {
 
 -                         a1.add(new FileInputStream("F:\\Demo"+x+".part"));
 
 -                         
 
 -                 }
 
 -                 final Iterator<FileInputStream> it=a1.iterator();
 
 -                 
 
 -                 Enumeration<FileInputStream> en=new Enumeration<FileInputStream>()
 
 -                 {
 
 -                         public boolean hasMoreElements()
 
 -                         {
 
 -                                 return it.hasNext();
 
 -                         }
 
 -                         public FileInputStream nextElement()
 
 -                         {
 
 -                                 return it.next();
 
 -                         }
 
 -                 };
 
 -                 
 
 -                 SequenceInputStream sis=new SequenceInputStream(en);
 
 -                 FileOutputStream fos=new FileOutputStream("F:\\NEW-DHTML.chm");
 
 -                 byte[] buf=new byte[1024];
 
 -                 int len=0;
 
 -                 while((len=sis.read(buf))!=-1)
 
 -                 {
 
 -                         fos.write(buf, 0, len);
 
 -                 }
 
 -                 
 
 -                 fos.close();
 
 -                 sis.close();
 
 -         }
 
 -         public static void splitFile() throws IOException
 
 -         {
 
 -                 FileInputStream fis=new FileInputStream("F:\\DHTML.chm");
 
 -                 FileOutputStream fos=null;
 
 -                 byte[] buf=new byte[1024*1024];
 
 -                 int len=0;
 
 -                 int count=1;
 
 -                 while((len=fis.read(buf))!=-1)
 
 -                 {
 
 -                         fos=new FileOutputStream("F:\\Demo"+(count++)+".part");
 
 -                         fos.write(buf, 0, len);
 
 -                         fos.close();
 
 -                 }
 
 -                 fis.close();
 
 -         }
 
  
 
- }
 
 
  复制代码 把分割的文件合并成chm文件时,合并后的文件比之前的文件小了,而且打不开 
 |   
        
 
    
    
    
     
 
 |