首页 > 代码库 > 合并mp3, vector,Enumeration,SequenceInputStream,FileFilter,匿名内部类.
合并mp3, vector,Enumeration,SequenceInputStream,FileFilter,匿名内部类.
1 package test; 2 3 import java.io.*; 4 import java.util.*; 5 6 public class Test20 7 { 8 public static void main(String[] args) throws Exception 9 {10 // 从给定目录 搜索MP311 File dir = new File("D:/aaa");12 List<File> list = new ArrayList<File>();13 FileFilter filefilter = new FileFilter()14 {15 public boolean accept(File pathname)16 {17 if (pathname.getName().endsWith(".mp3"))18 return true;19 if (pathname.isDirectory())20 return true;21 else22 return false;23 }24 };25 method(dir.listFiles(filefilter), list, filefilter);//list里装mp326 doSequence(list);//合并 MP327 }28 private static void doSequence(List<File> list) throws Exception29 {30 Vector<InputStream> vector = new Vector<InputStream>();31 for (File f : list)32 {33 vector.addElement(new FileInputStream(f));34 }35 Enumeration<InputStream> e = vector.elements();36 SequenceInputStream sis = new SequenceInputStream(e);37 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:/hebing.mp3"));38 int len = 0;39 for (byte[] buf = new byte[1024 * 1024]; (len = sis.read(buf)) != -1;)40 {41 bos.write(buf, 0, len);42 bos.flush();43 }44 sis.close(); // 这个相当于 3个 fis的close();45 bos.close();46 }47 public static void method(File[] files, List<File> list, FileFilter filefilter)48 {49 for (File f : files)50 {51 if (f.isDirectory())52 method(f.listFiles(filefilter), list, filefilter);53 else54 list.add(f);55 }56 }57 }
合并mp3, vector,Enumeration,SequenceInputStream,FileFilter,匿名内部类.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。