扫描sdcard文件(递归)
private void saoMiaoSdCard() { // TODO Auto-generated method stub // 判断是否挂载 if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 获取sdcard File sdcard = Environment.getExternalStorageDirectory(); // 创建集合对象 list_file = new ArrayList<File>(); // 获取该文件夹的所有子文件以及子文件假(过滤) getWant(sdcard); // 遍历输出集合list for (File ff : list_file) { System.out.println(ff.getAbsolutePath()); } } } private void getWant(File sdcard) { // TODO Auto-generated method stub File[] files = sdcard.listFiles(new FileFilter() { @Override public boolean accept(File file) { if (file.isDirectory()) { return true; } else { // 取出文件的名字 String filename = file.getName(); // 返回后缀名是文本以及MP3的 return filename.endsWith(".mp3"); } } }); // 将查询的结果添加到集合中 if (files != null) { for (File f : files) { if (f.isFile())// 若是文件,就直接保存 { list_file.add(f); } else { // 若是文件夹就继续扫描mp3,调用自己,递归 getWant(f); } } } }