扫描文件及文件夹

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

Android扫描文件的更多相关文章

  1. Android之扫描文件或文件夹

    我们或许经常会遇到这种情况,明明保存了图片,但是当你打开图片时,却没有找到这张图片,手机重启之后才能看到.这是因为SD卡并没有重新挂载,图库也无法把这张图片加载进去,解决这个问题非常简单,只需要我们重 ...

  2. Android.mk 文件语法详解

    0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...

  3. Android根据文件路径使用File类获取文件相关信息

    Android通过文件路径如何得到文件相关信息,如 文件名称,文件大小,创建时间,文件的相对路径,文件的绝对路径等: 如图: 代码: public class MainActivity extends ...

  4. Android资源文件简介

    Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源 ...

  5. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  6. android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位

    android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位   public class FileSizeUtil { public static final int SIZETYPE_B ...

  7. 19.Android之文件存储方法学习

    Android开发中会用到文件存储,今天来学习下. 先改下布局界面: <?xml version="1.0" encoding="utf-8"?> ...

  8. cocos2d-x避免手动修改android.mk文件来编译

    编辑android.mk文件,替换为如下内容 LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir) include $(CLEAR_VAR ...

  9. Android 下载文件及写入SD卡

    Android 下载文件及写入SD卡,实例代码 <?xml version="1.0" encoding="utf-8"?> <LinearL ...

随机推荐

  1. Selenium2学习-024-WebUI自动化实战实例-022-网站不同分辨率下页面样式展示兼容性问题解决方案 -- 设置浏览器显示区域大小(无人值守,节约测试成本的福音,BOSS 最爱)

    在 Web UI 自动化测试的过程中,通常会测试页面在不同分辨率下的显示效果,即在不同大小的显示器上全屏浏览器后的页面展示,此种测试方法需要购置不同大小的显示器,或者频繁的设置屏幕分辨率,不仅浪费了大 ...

  2. Windows下使用Git和GitHub.com

    1.首先介绍一下什么是Git和GitHub       Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大 ...

  3. action script 3如何检测播放器域

    检测播放器域   用户在上面观看媒体内容的网页的 URL 和域并非始终随时可用.如果托管网站允许,您可使用 ExternalInterface 类获取确切 URL.尽管如此,允许第三方视频播放器的一些 ...

  4. 最简单的PC机串口通信程序

    把串口当作文件IO来操作,简单易行!    已验证,gcc和tcc都可以编译成功,并使用.  需注意,先有串口,改好红色字体串口号再编译运行! #include <stdio.h>  #i ...

  5. string函数分析

    string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...

  6. [Slimdx]顶点和索引缓冲,绘制了2个分离的三角形

    定义网格顶点和索引缓冲,绘制了2个分离的三角形. using System; using System.Drawing; using RGeos.SlimScene.Core; using SlimD ...

  7. Visual Studio Debugger AutoExp.dat & Visualization Framework

    bing.com搜索: autoexp.dat 参考资料: AutoExp.dat http://www.virtualdub.org/blog/pivot/entry.php?id=120 http ...

  8. autorelease应用

    // //  main.m //  02-autorelease应用 // //  Created by apple on 14-3-18. //  Copyright (c) 2014年 apple ...

  9. cocos2dx 3.x(获取当前系统时间)

    // // MainScene.cpp // helloworld // // Created by apple on 16/10/21. // // #include "MainScene ...

  10. (转)在PHP语言中使用JSON

    原文 : http://www.ruanyifeng.com/blog/2011/01/json_in_php.html --------------------------------------- ...