zoukankan      html  css  js  c++  java
  • javaSE中的输入输出流---一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号

    <span style="font-size:18px;">package com.io.other.split;
    
    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 SplitFileTest {
    /**
     * 文件分割器。
     * 一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号
     * @param args
     * @throws IOException 
     */
    	private static final int DEFAULT_SIZE=1024*2;
    	public static void main(String[] args) throws IOException {
    		File srcFile=new File("chen\11.avi");
    		File destDir=new File("chen\partfiles");
    		SplitFile(srcFile,destDir);
    	}
    	/**
    	 * 
    	 * @param srcFile
    	 * @throws IOException 
    	 */
    
    	public static void SplitFile(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[DEFAULT_SIZE];
    		int len=0;
    		int count=0;
    		while((len=fis.read(buf))!=-1){
    			//创建输出流,并明白要写入的文件
    			File partFile=new File(destDir,(++count)+".part");
    			fos=new FileOutputStream(partFile);
    			fos.write(buf, 0, len);
    			fos.close();
    		}
    		//在产生碎片文件时,须要产生一个配置文件。记录碎片的个数和源文件名称字
    		//partfile=n;filename=11.avi
    		
    		//配置文件里存储的键值信息。使用Properties集合
    		Properties prop=new Properties();
    		
    		prop.setProperty("partcount", Integer.toString(count));
    		prop.setProperty("filename", srcFile.getName());
    		File conFile=new File(destDir,(++count)+".properties");
    		fos=new FileOutputStream(conFile);
    		//关闭资源
    		fos.close();
    		fis.close();
    	}
    
    }
    </span>

  • 相关阅读:
    Docker 常用命令及操作
    Docker 启动 tomcat 成功,但是访问为 404
    Linux 使用 yum install 安装程序时,提示另外一个程序锁定了 yum 等待它退出...
    Centos 6.8 安装 Docker 及 Docker 入门介绍
    iptables常见的模块拓展-m iprange 、-m multiport、
    iptables -m state模块 注意与-m conntrack的区别
    ros single network adapter的nat
    trap 信号捕捉
    ifconfig命令
    使用pipework给docker配置物理机器网卡上的地址
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7263478.html
Copyright © 2011-2022 走看看