A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

  1. //文件切割,将MP3切成相等大小的碎片,最后一片的大小不一定相等
  2.         public static void splitFile()throws IOException
  3.         {
  4.                 File file = new File("F:\\Study\\day20\\02\\泡沫 - G.E.M. 邓紫棋.mp3");
  5.                 FileInputStream fis = new FileInputStream(file);
  6.                 FileOutputStream fos = null;
  7.                 //定义一个缓冲字节数组
  8.                 byte[] buf = new byte[1024*1024];
  9.                 int len = 0;
  10.                 int count = 0;//控制知否要创建一个碎片文件存储数据
  11.                 int num = 1;
  12.                 while ((len=fis.read(buf))!=-1)
  13.                 {
  14.                         //将count和2取模,这个是控制需要切割的文件的大小。如果和3取模就是每个文件3M,
  15.                         //如果需要可以设置传值,这里我就没有弄了
  16.                         if (count%2==0)
  17.                         {
  18.                                 fos = new FileOutputStream("F:\\Study\\day20\\02\\"+(num++)+".part");
  19.                                 fos.write(buf,0,len);
  20.                                 fos.flush();
  21.                                 count++;
  22.                         }
  23.                         else
  24.                         {
  25.                                 fos.write(buf,0,len);
  26.                                 fos.flush();
  27.                                 count++;
  28.                         }
  29.                        
  30.                 }
  31.                 fos.close();
  32.                 fis.close();
  33.         }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马