1 Packagetest;2 3 ImportJava.io.*;4 ImportJava.util.*;5 6 Public classTest207 {8 Public Static voidMain (string[] args)throwsException9 {Ten //Search MP3 from a given directory OneFile dir =NewFile ("D:/aaa"); Alist<file> list =NewArraylist<file>(); -FileFilter FileFilter =NewFileFilter () - { the Public BooleanAccept (File pathname) - { - if(Pathname.getname (). EndsWith (". mp3")) - return true; + if(Pathname.isdirectory ()) - return true; + Else A return false; at } - }; -Method (Dir.listfiles (filefilter), list, filefilter);//list in mp3 -Dosequence (list);//Merging MP3 - } - Private Static voidDosequence (list<file> List)throwsException in { -vector<inputstream> vector =NewVector<inputstream>(); to for(File f:list) + { -Vector.addelement (NewFileInputStream (f)); the } *Enumeration<inputstream> e =vector.elements (); $Sequenceinputstream sis =NewSequenceinputstream (e);Panax NotoginsengBufferedoutputstream BOS =NewBufferedoutputstream (NewFileOutputStream ("D:/hebing.mp3")); - intLen = 0; the for(byte[] buf =New byte[1024 * 1024]; (len = Sis.read (BUF))! =-1;) + { ABos.write (buf, 0, Len); the Bos.flush (); + } -Sis.close ();//This is the equivalent of 3 FIS close (); $ bos.close (); $ } - Public Static voidMethod (file[] files, list<file>list, FileFilter filefilter) - { the for(File f:files) - {Wuyi if(F.isdirectory ()) the Method (F.listfiles (filefilter), list, filefilter); - Else Wu List.add (f); - } About } $}
Merge MP3, vector,enumeration,sequenceinputstream,filefilter, anonymous inner class.