本帖最后由 奔跑的二叉树 于 2013-9-20 20:55 编辑
- 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文件时,合并后的文件比之前的文件小了,而且打不开
|