黑马程序员---切割文件

来源:互联网 发布:分层抽样的算法 编辑:程序博客网 时间:2024/04/26 19:05


------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

文件切割,将MP3切成相等大小的碎片,最后一片的大小不一定相等,也可以将其他类型的文件切割

但是在切割是要注意不要把字节数组定义成你要切割成的碎片大小,因为可能你文件太大,分成的文件也很大,

定义的字节数组超过了jvm的内存的话,程序会挂掉

可以在程序内添加一个控制大小的机制。

以下是代码:

//文件切割,将MP3切成相等大小的碎片,最后一片的大小不一定相等public static void splitFile()throws IOException{File file = new File("F:\\Study\\day20\\02\\泡沫 - G.E.M. 邓紫棋.mp3");FileInputStream fis = new FileInputStream(file);FileOutputStream fos = null;//定义一个缓冲字节数组byte[] buf = new byte[1024*1024];int len = 0;int count = 0;//控制知否要创建一个碎片文件存储数据int num = 1;while ((len=fis.read(buf))!=-1){//将count和2取模,这个是控制需要切割的文件的大小。如果和3取模就是每个文件3M,//如果需要可以设置传值,这里我就没有弄了if (count%2==0){fos = new FileOutputStream("F:\\Study\\day20\\02\\"+(num++)+".part");fos.write(buf,0,len);fos.flush();count++;}else{fos.write(buf,0,len);fos.flush();count++;}}fos.close();fis.close();}

0 0
原创粉丝点击