您的位置:首页 > 移动开发 > Android开发

Android扫描文件

2016-03-25 17:17 302 查看
扫描文件及文件夹

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);
}

}
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: