zoukankan      html  css  js  c++  java
  • java下io文件切割合并功能

    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();
            
        }
    
    }
  • 相关阅读:
    【禅道】禅道安装步骤
    软件测试学习路线
    【mysql】mysql数据库安装
    【用例】测试用例阶段总结
    【坑】自动化测试之Excel表格
    开始.....
    网络攻防
    PAT/查找元素习题集
    PAT/简单模拟习题集(二)
    PAT/简单模拟习题集(一)
  • 原文地址:https://www.cnblogs.com/zywf/p/4780615.html
Copyright © 2011-2022 走看看