Android 扫描Scard卡全部的图片
- 这几天为了扫描Scard卡全部的图片的事非常纠结,我原本以为这是一件非常easy的事。可是我发现我错了。网上也没有完整的代码。仅仅是零零碎碎的能扫描单个文件的代码。在今天代码调试通过之后,我认为我有必要和大家分享一下。
1、因为是手机端的扫描,所以最好开个线程。在子线程中把扫描工作完毕这是很重要的,那么如今開始来看这个类吧!这个代码能够扫描出SCARD卡上全部的文件。
- public
class GetFilePathThread implements
Runnable { - public
String pathString; - public
List<String> listpath; - public GetFilePathThread(String path,List<String>
list)
{ - this.pathString=path;
- this.listpath=list;
- }
- public
void run()
{ - File
file=new
File(pathString); - if
(file.isDirectory())
{ - File fs[]=file.listFiles();
- if(fs!=null)
{ - System.out.println("文件夹里面包括的全部文件个数--->"+fs.length);
- if
(fs.length>0)
{ - for(int i=0;i<fs.length;i++)
{ - if
(fs[i].isFile())
{ - listpath.add(fs[i].getAbsolutePath());
- System.out.println("文件的绝对路径---->"+fs[i].getAbsolutePath());
- }
else if (fs[i].isDirectory())
{ - System.out.println("文件夹的绝对路径---->"+fs[i].getAbsolutePath()+"/");
- new
Thread(new GetFilePathThread(fs[i].getAbsolutePath()+"/",
listpath)).start(); - // getFilePath(fs[i].getAbsolutePath(),listpath);
- }
- }
- }
- }
- }
- }
- }
2、扫描出我们所须要的图片文件,当然在这之前要先定义
private List list=new ArrayList();
- StringBuffer
buffer=new
StringBuffer(); - for(int i=0;i<list.size();i++)
{ - if
(list.get(i).endsWith(".jpg"))
{ - buffer.append(list.get(i).toString()+"n");
- }
- }
3、记得增加关于Scard卡的读写权限。这个非常重要。至于开启线程的事,我就不多说了 。
总结:这次代码在小地方纠结了非常久,真的非常不应该。主要问题是两个,一个是怎么遍历目录下的子文件,第二,怎么获取加入进去的文件路径;
希望这些能对大家实用!
Android 扫描Scard卡全部的图片的更多相关文章
- Android获取SD卡中选中图片的路径(URL)
最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单.其布局文件如下: [html] view plain copy <?xml ver ...
- android 读取sd卡中的图片
一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.perm ...
- Android扫描SD卡中的文件
当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这个数据库中进行的,而不是直接 ...
- Android 常见SD卡操作
目录 Android 常见SD卡操作 Android 常见SD卡操作 参考 https://blog.csdn.net/mad1989/article/details/37568667. [0.] E ...
- android 照相或从相册获取图片并裁剪
照相或从相册获取图片并裁剪 在android应用中很多时候都要获取图片(例如获取用户的头像)就需要从用户手机上获取图片.可以直接照,也可以从用户SD卡上获取图片,但获取到的图片未必能达到要求.所以要对 ...
- Android 检测SD卡应用
Android 检测SD卡应用 // Environment.MEDIA_MOUNTED // sd卡在手机上正常使用状态 // ...
- Android之ListView异步加载图片且仅显示可见子项中的图片
折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整 ...
- Android 从 Android 本地图库选择多个图片
原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...
- Android 界面滑动卡顿分析与解决方案(入门)
Android 界面滑动卡顿分析与解决方案(入门) 导致Android界面滑动卡顿主要有两个原因: 1.UI线程(main)有耗时操作 2.视图渲染时间过长,导致卡顿 目前只讲第1点,第二点相对比较复 ...
随机推荐
- SDOJ 2605 闲荡
描述 L 饭后无聊,便在 BugTown 里闲荡. BugTown 共有 N 栋房屋和 M 条有向道路.每栋房屋都有一个非负整数 vi 作为标识. BugTown 有一个特性十分神奇:从任意一个房屋离 ...
- Flowerpot(单调队列)
描述 Farmer John has been having trouble making his plants grow, and needs your help to water them pro ...
- TOJ1550: Fiber Communications
1550: Fiber Communications Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteTotal ...
- 2018"百度之星"程序设计大赛 - 资格赛
调查问卷 Accepts: 1546 Submissions: 6596 Time Limit: 6500/6000 MS (Java/Others) Memory Limit: 262144 ...
- ACM程序设计选修课——1058: Lucky Sequence(思考)
1058: Lucky Sequence Time Limit: 10 Sec Memory Limit: 64 MB Submit: 52 Solved: 6 [Submit][Status][ ...
- [OJ#15]TR #2 画心
[OJ#15]TR #2 画心 试题描述 渠是一名画师.渠有一支神奇的画笔,可以画尽因果. 渠要画一幅画,这幅画由N个线段组成,线段从1开始编号,第i条线段有一个特殊的因果值Ai. 由于画太长了,渠不 ...
- [BZOJ3535][Usaco2014 Open]Fair Photography
[BZOJ3535][Usaco2014 Open]Fair Photography 试题描述 FJ's N cows (1 <= N <= 100,000) are standing a ...
- POJ3071 Football 【概率dp】
题目 Consider a single-elimination football tournament involving 2n teams, denoted 1, 2, -, 2n. In eac ...
- 【bzoj2440】[中山市选2011]完全平方数 莫比乌斯反演
Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱.这天是小 ...
- Zygote原理学习
1 zygote分析 1.1 简介 Zygote本身是一个NATIVE层的应用程序,与驱动.内核无关.前面已经介绍过了,zygote由init进程根据init.rc配置文件创建.其实本质上来说,zyg ...