java下io文件切割合并功能
2015-09-03 20:06
519 查看
package cn.stat.p1.file; 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 qiefiledemo { private static int SIZE=1024*1024; /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { //文件切割 File file=new File("D:\\3.avi"); splitFile(file); //文件组合 File file2=new File("D:\\cc"); mergeFile(file2); } //文件组合 public static void mergeFile(File dir) throws IOException { ArrayList<FileInputStream> al=new ArrayList<FileInputStream>(); for(int i=0;i<=19;i++) { al.add(new FileInputStream(new File(dir,i+".pat"))); } Enumeration<FileInputStream> en=Collections.enumeration(al); SequenceInputStream sis=new SequenceInputStream(en); FileOutputStream fos=new FileOutputStream(new File(dir,"1.avi")); byte[] buf=new byte[SIZE]; int len=0; while((len=sis.read(buf))!=-1) { fos.write(buf,0,len); } fos.close(); sis.close(); } //文件切割 public static void splitFile(File file) throws IOException { //用于读取流的关联文件 FileInputStream fis=new FileInputStream(file); //定义一个1M的缓冲区 byte[] buf=new byte[SIZE]; //创建目地 FileOutputStream fos=null; int conun=0; int len=0; File dir=new File("D:\\cc"); if(!dir.exists()) { dir.mkdir(); } while((len=fis.read(buf))!=-1) { fos=new FileOutputStream(new File(dir,(conun++)+".pat")); fos.write(buf,0,len); } fos.close(); fis.close(); } }
相关文章推荐
- 实现抽取java中的注释的代码
- 一切都是对象
- Spring Data JPA查询关键字
- Java的类加载
- 关于Java中的反射的一个简单使用
- java注释
- Java中父类强制转换为子类的可能
- java 重载与重写
- java中IO递归写入
- 这几天学习java里面的子类父类继承接口重载重写。学的好吃力。我得想办法赶紧理解理解!
- Java 编写注释规范模板
- java自定义异常
- 使用Java正则表达式匹配IP
- Java内部类的使用小结
- Java 线程的suspend()和stop()不安全的原因
- Spring BeanFactory getBean 源码剖析
- Spring BeanFactory getBean 源码剖析
- Spring Mail
- Java基础针对自己薄弱环节总结07(递归、IO流)
- Java创建线程的两种方法