码迷,mamicode.com
首页 > 其他好文 > 详细

文件切割器,一个读取流,对应多个输出流,而且生成的碎片文件都有有序的编号

时间:2015-07-14 11:26:31      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

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();
		
	}

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

文件切割器,一个读取流,对应多个输出流,而且生成的碎片文件都有有序的编号

标签:

原文地址:http://blog.csdn.net/treeling_/article/details/46874665

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!