利用IO流把单个文件切割成碎片文件

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

public class SplitFileTest {

    public static void main(String[] args) throws IOException {

        /*
         * 文件切割器
         * 一个读取流,对应多个输出流。而且生成的碎片文件都有有序的编号
         */
        File srcFile = new File("d:\\Test.java");
        File destDir = new File("tempfile\\partfiles");
        fileSplit(srcFile,destDir);

    }

    public static void fileSplit(File srcFile,File destDir) throws IOException {
        if(!srcFile.exists()){
            throw new RuntimeException(srcFile.getAbsolutePath()+"源文件不存在");
        }

        if(!destDir.exists()){
            destDir.mkdirs();
        }

        //1.读取源文件
        FileInputStream fis = new FileInputStream(srcFile);

        //2.创建目的引用。
        FileOutputStream fos = null;

        //3.创建一个缓冲区。
        byte[] buf = new byte[1024*20];//1M
        int count = 0;
        int len = 0;
        //4.往缓冲区中存储数据
        while((len=fis.read(buf))!=-1){
//            System.out.println(len);
            //5.创建输出流,并明确要写入的文件对象
            File partFile = new File(destDir,(++count)+".part");
            fos = new FileOutputStream(partFile);
            fos.write(buf,0,len);

        }
        //应该在产生碎片文件时,需要产生一个配置文件,至少记录碎片的个数和源文件的名字
        //partcount = 5; filename = Test.java

        //配置文件中存储的是键值信息,使用properties集合
        Properties prop = new Properties();
        prop.setProperty("partcount", Integer.toString(count));
        prop.setProperty("filename", srcFile.getName());

        File configFile = new File(destDir,(++count)+".properties");
        fos = new FileOutputStream(configFile);
        prop.store(fos, "save part file info");

        fis.close();

    }

}
时间: 2024-10-13 16:52:52

利用IO流把单个文件切割成碎片文件的相关文章

java实现把一个大文件切割成N个固定大小的文件

//java实现把一个大文件切割成N个固定大小的文件 package com.johnny.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; public class FenGeFile { p

c#程序将excel文件转换成xml文件

要程序你自己去组装去,我只写两个部分,一个是读Excel的部分,然后是写入到xml的1) 从指定的excel读出信息string strConn="provider=Microsoft.Jet.OLEDB.4.0;data source=你的Excel文件.xls;Extended Properties=Excel 8.0;";DataSet ds=new DataSet();System.Data.OleDb.OleDbConnection oleConn=new System.Da

在Linux下将HTML文件转换成PDF文件

今天要写一个上交的作业,本来是想用Office Word来写的,但是,我的Office貌似不能用了,但是,Linux下的LibreOffice写出的文档,在打印的时候是经常出现乱码的.所以,后来想到可以 利用HTML写出格式比较好的文档,所以,想到能不能先写出一份比较规范的文档出来,然后转换成PDF文档,因为如果转换成PDF文档,打印,浏览都会比较方便,并且在转换成PDF之后,在打印的时候也不容易出现乱码的现象,经过搜索发现了一个比较不错的html转pdf文件的工具wkhtmltopdf, 在U

如何将一批pdf文件转换成jpg文件

从事设计行业,经常需要从网络上搜集一些图片素材,可是当我们下载的素材是pdf格式的时候,我们该怎么办呢?是不是需要将pdf格式转换成jpg或其它图片格式时才可以加以运用呢?今天小编与大家分享的技巧就是:如何将一批pdf文件转换成jpg文件.    工具/原料  pdf转jpg工具:http://pan.baidu.com/s/1o7ddEcU 方法/步骤  1.首先我们需要从网络上下载一个pdf转jpg工具,同时将它安装在自己的电脑中,并创建快捷方式. 2.双击快捷方式进入工具——选择“pdf图

使用py2exe 将python文件转成exe文件(以及 error: [Errno 2] No such file or directory: 'MSVCP90.dll'解决方法)

用python写程序真的很简单,当我们开发出功能后,特别是带窗体的python程序,需要将python程序转成双击运行的exe程序.我们需要一个第三方模块 py2exe,就是将py转成exe的模块.只需py2exe怎么安装,我这里就不详细说明了,直接到官网上下载对应python的py2exe版本,然后是傻瓜式安装,并且安装好后py2exe模块会自动添加到python的路径中. 然后就简单了,我们在要被转换成exe的py文件目录下新建一个 setup.py 文件,将代码贴进去: #coding=u

如何将PDF文件转换成Excel文件,这种方法你绝对没见

PDF文件一直是我们最头疼的文件,这种文件不仅很特殊,而且就连很多公司都不敢使用这种文件,原因就在于这种文件不好编辑,如果想将PDF文件转换成其他格式的文件我们该怎么做呢,下面小编就教大家一个方法! 首先我们要认识一款转换软件--迅捷PDF转换器,很多人肯定都没听说过这种软件,这是一种可以将PDF文件的格式转换成另一种格式的软件,而且转换的速度更加的精准.简单! 打开这款迅捷PDF转换器,在软件的左侧会有很多文件转换的格式,我们选择文件转换成其他格式中的--文件转Excel,然后再点击"添加文件

<p><span style="font-size:14px">近期须要批量将PNM格式的文件转换成GIF文件。我尝试了例如以下的图像转换工具:</span></p>

近期须要批量将PNM格式的文件转换成GIF文件.我尝试了例如以下的图像转换工具: ImageBatch:全然免费,但只支持PNG JPEG BMP GIF四种格式 OfficeConverter:在线转换软件,支持全部图像格式的相互转换.大量处理图像时须要支付一定费用,否则效率低 Pixillion:支持全部格式,试用版只最多支持5个文件为一组batch的处理,使用100次以后必须付费使用 因为上述工具均不能满足我的须要(不想使用付费软件),我尝试搜索PNM转GIF文件的软件包,发现能够安装Py

将 Python3 文件打包成 exe 文件

我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众. 因为 Python 是一门解释性的语言,离开了 Python 解释器,Python 无法执行.但是我们还有相应的解决方案,答案就是打包成 .exe 可执行文件 当然这篇正文前废话两句,一是看过之前网上的一些吐槽,因为没有学过编译原理,所以也不能不懂乱讲,姑且称之为半引用吧: Python 的哲学是所见即所得,脚本类语言也注定了其加密性不如其他编译生成的语言(比如C++,

pdf转换成word转换器免费版是一款功能强大好用的pdf文件转换成word文件的软件

pdf转换成word转换器免费版是一款功能强大好用的pdf文件转换成word文件的软件,界面简单,功能稳定,支持批量转换,操作起来非常方便,支持多种流行文档格式之间转换.完美支持pdf文件转换成word文档,转换后可再次编辑,支持图文混合排版,支持表格转换,支持批量转换,操作简单.pdf转换成word转换器免费不限页数可以很好的转换原来pdf文档中的文字.图片.表格 .超链接.布局,使其转换成的word文档排版与原有文档一样.pdf转换成word转换器是一款小巧.方便且免费的pdf转Word工具