IO流之文件切割,文件合并 Java

现有一要求,将桌面的一个指定PPT按照大小为1MB进行切割,将切割完的文件及配置文件放在一个目录中

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class test 
{
    public static void main(String[] args) throws IOException
    {
        File file=new File("C:\\Users\\fan\\Desktop\\product.PPT");
        splitFile(file);

    }
    public static void splitFile(File file) throws IOException
    {
        //byte数组长度为1024*1024,数组装满后大小就为1MB
        final int size=1024*1024;
        //将配置信息放入properties容器中
        Properties pro=new Properties();
        //用读取流关联源文件
        FileInputStream fis=new FileInputStream(file);

        //自定义缓冲数组
        byte[] buf=new byte[size];

        //创建目的
        FileOutputStream fos=null;

        int len=0;
        int count=1;
        //声明一个用于存放切割文件的目录
        File dir=new File("c:\\users\\fan\\desktop\\partfiles");
        //若目录不存在,创建之
        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();
        }
        pro.setProperty("partcount",count+"");
        pro.setProperty("filename",file.getName());
        fos=new FileOutputStream(new File(dir,count+".properties"));
        pro.store(fos,"save");

        fos.close();
        fis.close();

    }
}

猜你喜欢

转载自www.cnblogs.com/javaStudy947/p/9142580.html