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();
            
        }
    
    }
  • 相关阅读:
    bzoj4195 [Noi2015]程序自动分析
    bzoj4236 JOIOJI hash 模拟
    bzoj1012 [JSOI2008]最大数maxnumber
    day 4 名片管理系统 -函数版
    day 3 局部变量 全局变量
    day 2 函数的嵌套
    day1 函数 (独立功能代码块)
    day 14 元组
    day 13 字典dict 操作
    day 12 列表字典 补充
  • 原文地址:https://www.cnblogs.com/zywf/p/4780615.html
Copyright © 2011-2022 走看看