黑马程序员-学习日志-文件的分割与合并

来源:互联网 发布:freebsd10 安装软件 编辑:程序博客网 时间:2024/05/21 01:57

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

import java.io.*;import java.util.*;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<=1;x++){a1.add(new FileInputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\"+x+".part"));}final Iterator<FileInputStream> it = a1.iterator();Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()  //因为这个是匿名内部类对访问的局部变量用final修饰{public boolean hasMoreElements(){return it.hasNext();}public FileInputStream nextElement(){return it.next();}};SequenceInputStream sis = new SequenceInputStream(en);FileOutputStream fos = new FileOutputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\1.jpg");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("E:\\Java源代码\\IO基础\\day20\\1.JPG");FileOutputStream fos = null;byte[] buf = new byte[1024*1024];int len = 0;int count=1;while((len=fis.read(buf))!=-1){fos = new FileOutputStream("E:\\Java源代码\\IO基础\\day20\\splitfiles\\"+count+".part");count++;fos.write(buf,0,len);fos.close();}fis.close();}}



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net

0 0