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

Posted 张小铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础知识之----------IO流操作文件相关的知识,希望对你有一定的参考价值。

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流操作文件的主要内容,如果未能解决你的问题,请参考以下文章

java开发知识IO知识之输入输出流以及文件

java基础之 IO 流(RandomAccessFile类)

Java中的IO流之输入流|乐字节

java基础之IO操作

IO基础之缓冲流的详解

Java基础之(IO流)