扫描文件及文件夹
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);
}
}
}
}
}