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

    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 FileSpilte {
    
    	/**
    	 * @param args
    	 * @throws IOException 
    	 */
    	/*
    	 * 文件分割器,
    	 * 一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号
    	 */
    	public static void main(String[] args) throws IOException {
            
    		 File destdir = new File("teampFile\filepart");
    		 File file = new File("E:\A-Lin - 给我一个理由忘记.mp3");
    		 
    	    	fileSplite(file,destdir);
    	}
    
    	private static void fileSplite(File file, File destdir) throws IOException {
    		
    		if(!file.exists()){ 
    			throw new RuntimeException(destdir+"文件不存在");
    		}
    	   
    		if(!destdir.exists())
    		{
    			destdir.mkdirs();
    		}
    		FileInputStream fis = new FileInputStream(file);
    		
    		FileOutputStream fos = null;
    		
    		byte[] buf =new byte[1024*1024];
    		int count = 0; 
    		int len = 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();
    		} 
    		Properties prop =new Properties();
    		prop.setProperty("partcount",Integer.toString(count));
    		prop.setProperty("filename", file.getName());
    		
    		File profile = new File(destdir,(++count)+".properties");
    		fos=new FileOutputStream(profile);
    		prop.store(fos, "save");
    		
    		fos.close();
    		
    	}
    
    }
    

  • 相关阅读:
    Latex (1)
    linux/unix command
    函数类型和函数指针类型(摘自 linux c编程一站式学习)
    emacs 剪切板
    Centos 常见问题汇总
    makefile(摘自linux_c编程一站式学习)
    [转]DIV布局之三行三列之高度自适应
    ASP.Net新手项目经验谈
    获取中文首字母的方法
    还是不会伪装
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5396974.html
Copyright © 2011-2022 走看看