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();
}
}
文件切割器,一个读取流,对应多个输出流,而且生成的碎片文件都有有序的编号
最新推荐文章于 2023-04-19 12:00:00 发布