扫描文件及文件夹
package com.bwie.demo; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.List; public class Demo { private static ArrayList<String> list1; private static ArrayList<String> list2; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub list1 = new ArrayList<String>(); list2 = new ArrayList<String>(); File file = new File("E:\\安装包"); init(file); for (String string : list1) { System.out.println("文件:"+string); } for (String string : list2) { System.out.println("文件夹:"+string); } System.out.println("文件个数:"+list1.size()+" 文件夹个数:"+list2.size()); } private static void init(File file) { if (file.exists()) { File[] filepath = file.listFiles(new FileFilter() { public boolean accept(File file) { // TODO Auto-generated method stub if (file.isDirectory()) { list2.add(file.getName()); return true; } else { // 文件 list1.add(file.getName()); return true; } } }); if (filepath != null) { for (File file2 : filepath) { if (file2.isFile()) { list1.add(file2.getName()); } else { init(file2); } } } } else { System.out.println("没有此盘"); } } }
扫描图片
import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.List; public class du { private static List<File> list; public static void main(String[] args) { File file=new File("c:\\"); setData(file);; } private static void setData(File file) { list = new ArrayList<File>(); File[] fs=file.listFiles(new FileFilter() { public boolean accept(File pathname) { // TODO Auto-generated method stub if(pathname.isDirectory()){ return true; }else{ String name = pathname.getName(); return (name.endsWith(".png")||name.endsWith(".jpg")||name.endsWith(".bmp")); } } }); if(fs!=null){ for(File f:fs){ if(f.isFile()){ list.add(f); System.out.println(list.toString()); }else{ setData(f); } } } } }
扫描视频歌曲
import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.util.ArrayList; import com.bwie.adapter.MyAdapter; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.widget.ListView; import android.widget.MediaController; import android.widget.VideoView; public class MainActivity extends Activity { private static ArrayList<File> list; private ListView lv; private VideoView vv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*// 找到该布局文件下的控件 lv = (ListView) findViewById(R.id.lv);*/ //找到该布局文件下的播放视频的控件 vv = (VideoView) findViewById(R.id.vv); // 创建file类 String path = Environment.getExternalStorageDirectory().getPath(); /* File file = new File(path+"/images"); */ //这是扫描图片的路径 /*File file = new File(path);*/ //这是扫描歌曲的路径 File file = new File(path);//这是扫描视屏的路径 // 创建集合对象 list = new ArrayList<File>(); // 调用方法进行扫描并过滤该文件夹,并收集扫描出来的图片文件 saoMiao(file); // 打印扫描出来的图片文件 for (File ff : list) { System.out.println(ff.getName()); } /* * //为listview设置适配器 lv.setAdapter(new MyAdapter(MainActivity.this, * list)); */ /** * 播放扫描出来的歌曲 */ /* MediaPlayer player = new MediaPlayer(); try { // 获取路径 System.out.println(list.get(0).getPath() + "==========="); player.setDataSource(list.get(1).getPath());// 直接获取文件的路径 // 准备好硬件 player.prepare(); // 开始播放 player.start(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ /** * 播放视频 */ //设置播放视频的路径 vv.setVideoPath(list.get(0).getPath()); //为videoview设置控制器 MediaController controller = new MediaController(MainActivity.this); vv.setMediaController(controller); //开始播放视频 vv.start(); } private static void saoMiao(File file) { // 列出该文件夹下的所有文件及文件夹 File[] fs = file.listFiles(new FileFilter() { public boolean accept(File pathname) { if (pathname.isDirectory())// 如果是文件夹的话就直接收集这个文件夹 { return true; } else { /* * return pathname.getName().endsWith(".png") || * pathname.getName().endsWith(".jpg") || * pathname.getName().endsWith(".bmp"); */ /* return pathname.getName().endsWith(".mp3"); */ return pathname.getName().endsWith(".3gp"); } } }); // 将集合进行遍历 if (fs != null) { for (File f : fs) { if (f.isFile())// 若是文件就直接收藏起来 { list.add(f); } else {// 若是文件夹的话利用递归的方法进行再次扫描文件夹 saoMiao(f); } } } } }
原文:http://www.cnblogs.com/1426837364qqcom/p/5199317.html