首页 > 其他 > 详细

基础知识之----------IO流(4)操作文件

时间:2018-03-01 20:56:41      阅读:118      评论:0      收藏:0      [点我收藏+]

1、文件的切割合并

  

public class SpliFileDemo {

    //创建1M的缓冲区
    private static int SIZE=1048576;

    public static void main(String[] args) throws IOException {
        File file=new File("c://partfile");
//        splitFile(file);
        mergeFile(file);
    }

    public static void splitFile(File file) throws IOException{

        //用流读取文件
        FileInputStream fis=new FileInputStream(file);

        //定义一个1M的缓冲区
        byte[] buf=new byte[SIZE];

        FileOutputStream fos=null;

        int len=0;

        int count=1;

        File dir=new File("c:\\partfile");

        if (!dir.exists())
            dir.mkdirs();

        while ((len=fis.read(buf))!=-1){
            fos=new FileOutputStream(new File(dir,(count++)+".part"));
            fos.write(buf,0,len);
        }

        fos.close();

        fis.close();

    }

    public  static void mergeFile(File dir) throws IOException {

        ArrayList<FileInputStream> a1=new ArrayList<FileInputStream>();

        for (int x=1;x<=7;x++) {
            a1.add(new FileInputStream(new File(dir, x + ".part")));
        }
            Enumeration<FileInputStream> en=Collections.enumeration(a1);

            SequenceInputStream sis=new SequenceInputStream(en);

            FileOutputStream fos=new FileOutputStream(new File(dir,"sss1.pdf"));

            byte[] buf=new byte[1024*1024];

            int len=0;

            while((len=sis.read(buf))!=-1){
                fos.write(buf,0,len);
            }

            fos.close();

            sis.close();
        }
    }

 

基础知识之----------IO流(4)操作文件

原文:https://www.cnblogs.com/xiaotieblog/p/8490262.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!