美文网首页Java
Java IO流(合并流和切割文件)

Java IO流(合并流和切割文件)

作者: 一亩三分甜 | 来源:发表于2019-09-28 13:20 被阅读0次

合并流

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.SequenceInputStream;
import java.util.Enumeration;
import java.util.Vector;

public class SequenceDemo {
    public static void main(String[] args) throws IOException
    {
        Vector<FileInputStream> v = new Vector<FileInputStream>();
        v.add(new FileInputStream("1.txt"));
        v.add(new FileInputStream("2.txt"));
        v.add(new FileInputStream("3.txt"));
        Enumeration<FileInputStream> en = v.elements();
        SequenceInputStream sis = new SequenceInputStream(en);
        FileOutputStream fos = new FileOutputStream("4.txt");
        byte[] buf = new byte[1024];
        int len = 0;
        while ((len = sis.read(buf))!= -1)
        {
            fos.write(buf,0,len);
        }
        fos.close();
        sis.close();
    }
}
Snip20190928_4.png

切割文件

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class SplitFile {
    public static void main(String[] args) throws IOException
    {
         splitFile();
    }
    public static void  splitFile() throws IOException
    {
        FileInputStream fis = new FileInputStream("2.jpg");
        FileOutputStream fos = null;
        byte[] buf = new byte[1024*1024];
        int len = 0;
        int count = 1;
        while ((len = fis.read(buf))!= -1)
        {
            fos = new FileOutputStream("splitfiles"+File.separator+(count++)+".part");
            fos.write(buf,0,len);
            fos.close();
        }
        fis.close();
    }
}
Snip20190928_8.png

合并文件

import java.io.*;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;

public class SplitFile {
    public static void main(String[] args) throws IOException
    {
        merge();
    }
    public static void  merge() throws IOException
    {
        ArrayList<FileInputStream> a1 = new ArrayList<FileInputStream>();
        for (int x=1;x<=2;x++)
        {
            a1.add(new FileInputStream("splitfiles"+File.separator+x+".part"));
        }
        final Iterator<FileInputStream> it = a1.iterator();
        Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()
        {
            public boolean hasMoreElements()
            {
                return it.hasNext();
            }
            public FileInputStream nextElement()
            {
               return it.next();
            }
        };
        SequenceInputStream sis = new SequenceInputStream(en);
        FileOutputStream fos = new FileOutputStream("splitfiles"+File.separator+"0.jpg");
        byte[] buf = new byte[1024];
        int len = 0;
        while ((len=sis.read(buf))!=-1)
        {
            fos.write(buf,0,len);
        }
        fos.close();
        sis.close();
    }
}
Snip20190928_13.png

相关文章

  • Java IO流(合并流和切割文件)

    合并流 切割文件 合并文件

  • IO流之合并流

    SequenceInputStream合并流 可将多个读取流合并,通常用于大文件切割后的合并; 文件的分割 文件的合并

  • 2019-03-09

    IO流之键盘录入,视频文件切割合并操作总结 键盘录取 媒体文件的切割技术将源文件以及切割的一些信息也保存起来随着碎...

  • Java 流(Stream)、文件(File)和IO

    Java 流(Stream)、文件(File)和IO 简介 1.什么是流,什么是文件,什么是IO? 一个流可以理解...

  • 【JavaSE(十三)】JavaIO流(中)

    1 IO流 1.1 IO流概述 Java中使用 IO流 来读取和写入,读写设备上的数据、硬盘文件、内存、键盘等等,...

  • Java基础进阶 IO流之文件切割和合并

    文件切割和合并 文件的切割使用场景:平时当我们向某个论坛或者某个网站上传文件的时候,如果某个网站设置一次性只能上传...

  • Java的IO流

    一、IO流概述 IO流:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,...

  • Java IO流学习笔记

    Java IO流 IO流概述 文件类(File) 在计算机中所有的数据都是以文件的格式存储的。 文件类是文件和目录...

  • java基础io流——OutputStream和InputStr

    io流概述: IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用...

  • java_io

    java.io.File类的使用IO原理及流的分类  |---文件流   操作对象是文件     FileInp...

网友评论

    本文标题:Java IO流(合并流和切割文件)

    本文链接:https://www.haomeiwen.com/subject/wlnzuctx.html