- package com.itcast.test;
- import java.io.*;
- import java.util.*;
- public class SplitFile {
- /**
- * @param args
- */
- public static void main(String[] args) throws Exception {
- // TODO Auto-generated method stub
- //splitFile();
- merge();
- }
- public static void merge()throws IOException {
- ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
- for(int x=1; x<=6; x++) {
- al.add(new FileInputStream("C:\\Users\\shandawang\\Desktop\\"+x+".part"));
- }
- Iterator<FileInputStream> it = al.iterator();
- Enumeration<FileInputStream> en = new MyEnumeration<FileInputStream>(it);
- /*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("C:\\Users\\shandawang\\Desktop\\大地_副本.mp3");
- 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("C:\\Users\\shandawang\\Desktop\\beyond - 大地.mp3");
- FileOutputStream fos = null;
- byte[] buf = new byte[1024*1024];
- int len = 0;
- int count = 1;
- while((len=fis.read(buf))!=-1){
- fos = new FileOutputStream("C:\\Users\\shandawang\\Desktop\\"+(count++)+".part");
- fos.write(buf,0,len);
- fos.close();
- }
- fis.close();
- }
- }
- class MyEnumeration<E> implements Enumeration<E>{
- private Iterator<E> i;
- public MyEnumeration(Iterator<E> i) {
- this.i = i;
- }
-
- @Override
- public boolean hasMoreElements() {
- // TODO Auto-generated method stub
- return i.hasNext();
- }
- @Override
- public E nextElement() {
- // TODO Auto-generated method stub
- return i.next();
- }
- }
复制代码 |
|