• 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>

  • 相关阅读:
    css之页面顶部阴影
    css之使用 :not() 在菜单上应用/取消应用边框
    CSS之黑白图像
    AMD/CMD规范
    HTTP学习笔记
    MUI之ajax获取后台接口数据
    Git提交代码规范
    Unicode与UTF-8/UTF-16/UTF-32的区别
    系统编程书籍推荐
    单口双线PC连接转换器 手机电脑耳机转接线
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7263478.html
Copyright © 2020-2023  润新知