黑马程序员技术交流社区
标题:
如何切割一个文件
[打印本页]
作者:
haha_hyq
时间:
2012-9-19 23:46
标题:
如何切割一个文件
如何将一个文件进行切割 图片 或者音乐?
作者:
何小红
时间:
2012-9-19 23:48
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
public class SplitFileTest {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
/*
* 文件切割。
*
*需要配置文件记录碎片文件的个数。被切文件的名称。
*partCount = 6
*srcfilename = 0.mp3
*键值对,并持久化,需要用到Properties。
*/
File srcFile = new File("d:\\0.mp3");
File destDir = new File("d:\\partfiles");
if(!destDir.exists())
destDir.mkdir();
FileInputStream fis = new FileInputStream(srcFile);
FileOutputStream fos = null;
byte[] buf = new byte[1024*1024];
int len = 0;
int count = 1;
while((len=fis.read(buf))!=-1){
fos = new FileOutputStream(new File(destDir,(count++)+".part"));
fos.write(buf,0,len);
fos.close();
}
File configFile = new File(destDir,count+".properties");
fos = new FileOutputStream(configFile);
Properties prop = new Properties();
prop.setProperty("partcount", Integer.toString(count-1));
prop.setProperty("srcfilename", srcFile.getName());
prop.store(fos, "");
fos.close();
fis.close();
}
}
作者:
牛杨
时间:
2012-9-19 23:50
毕老师视频里有啊 老兄。我都懒得翻笔记了都
作者:
赵永康
时间:
2012-9-20 00:16
我就不说代码了 楼上已经说了 简单说说其中的原理吧 假如你要把3M的文件切割成1M的 这时候你就定义一个1M的数组,将独到的数据存到这个数组中,再将数组中的数据全部写到文件中。但是你不能每次写到同一个文件中,你就需要将写的这个动作 定义在读循环的里面,并不是将写出的流一次性定义好!并且每次写完后的文件名称不能一样!大致就是这样的思想了 望楼主自己再写写看看吧
相应的合并文件是同一个原理 就要用到Sequence流和枚举了 查查文档 应该可以做出来的
作者:
汪小照
时间:
2012-9-20 07:55
这个代码,毕老师讲的很清楚,你可以回头再看毕老师的视频
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2