zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java实现mp3合并的方法

JAVA方法 实现 合并 Mp3
2023-06-13 09:15:29 时间

本文实例讲述了java实现mp3合并的方法。分享给大家供大家参考。具体实现方法如下:

复制代码代码如下:


packagetest;

importjava.io.*;
importjava.util.*;

publicclassTest6
{
   publicstaticvoidmain(String[]args)throwsException
   {
       Strings="D:/out.mp3";//输出目录&文件名
       List<String>list=newArrayList<String>();
       Filedir=newFile("D:/aaa");//要遍历的目录,用递归拿文件,文件太多就完蛋.
       recursion(dir.listFiles(),list);//递归函数
       String[]ss=newString[list.size()];
       for(inti=0;i<ss.length;i++)
       {
           ss[i]=list.get(i);
       }
       System.out.println();
       combine(s,ss);
   }
   publicstaticvoidrecursion(File[]fs,List<String>list)//递归得所有子目录的.mp3文件.
   {
       for(Filef:fs)
       {
           if(f.isDirectory())
           {
               recursion(f.listFiles(),list);
           }
           else
           {
               if(f.getName().endsWith(".mp3"))
               {
                   list.add(f.getAbsolutePath());
               }
           }
       }
   }
   privatestaticbooleancombine(StringoutFile,String[]inFiles)throwsException
   {
       Fileout=newFile(outFile);
       File[]files=newFile[inFiles.length];
       for(inti=0;i<files.length;i++)
       {
           files[i]=newFile(inFiles[i]);
       }
       FileInputStreamfis=null;
       FileOutputStreamfos=newFileOutputStream(outFile,true);//合并其实就是文件的续写,写成true
       for(inti=0;i<files.length;i++)
       {
           fis=newFileInputStream(files[i]);
           intlen=0;
           for(byte[]buf=newbyte[1024*1024];(len=fis.read(buf))!=-1;)
           {
               fos.write(buf,0,len);
           }
       }
       fis.close();
       fos.close();
       returntrue;
   }
}

希望本文所述对大家的Java程序设计有所帮助。