• 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();
            
        }
    
    }
  • 相关阅读:
    Oracle
    注解
    java 算法实现
    ConcurrentHashMap
    hashMap 1.8
    hashmap 1.7
    MySQL优化
    Mysql面试题
    tmux
    mysql 复制表结构、表数据的方法
  • 原文地址:https://www.cnblogs.com/zywf/p/4780615.html
Copyright © 2020-2023  润新知