掃描文件及文件夾
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); } } } } }