java实现mp3合并的方法
本文实例讲述了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; } }