1. 这几天为了扫描Scard卡全部的图片的事非常纠结,我原本以为这是一件非常easy的事。可是我发现我错了。网上也没有完整的代码。仅仅是零零碎碎的能扫描单个文件的代码。在今天代码调试通过之后,我认为我有必要和大家分享一下。

    1、因为是手机端的扫描,所以最好开个线程。在子线程中把扫描工作完毕这是很重要的,那么如今開始来看这个类吧!这个代码能够扫描出SCARD卡上全部的文件。
  1. public
    class GetFilePathThread implements
    Runnable {
  2. public
    String pathString;
  3. public
    List<String> listpath;
  4. public GetFilePathThread(String path,List<String>
    list)
    {
  5. this.pathString=path;
  6. this.listpath=list;
  7. }
  8. public
    void run()
    {
  9. File
    file=new
    File(pathString);
  10. if
    (file.isDirectory())
    {
  11. File fs[]=file.listFiles();
  12. if(fs!=null)
    {
  13. System.out.println("文件夹里面包括的全部文件个数--->"+fs.length);
  14. if
    (fs.length>0)
    {
  15. for(int i=0;i<fs.length;i++)
    {
  16. if
    (fs[i].isFile())
    {
  17. listpath.add(fs[i].getAbsolutePath());
  18. System.out.println("文件的绝对路径---->"+fs[i].getAbsolutePath());
  19. }
    else if (fs[i].isDirectory())
    {
  20. System.out.println("文件夹的绝对路径---->"+fs[i].getAbsolutePath()+"/");
  21. new
    Thread(new GetFilePathThread(fs[i].getAbsolutePath()+"/",
    listpath)).start();
  22. //    getFilePath(fs[i].getAbsolutePath(),listpath);
  23. }
  24. }
  25. }
  26. }
  27. }
  28. }
  29. }

2、扫描出我们所须要的图片文件,当然在这之前要先定义

private List list=new ArrayList();

  1. StringBuffer
    buffer=new
    StringBuffer();
  2. for(int i=0;i<list.size();i++)
    {
  3. if
    (list.get(i).endsWith(".jpg"))
    {
  4. buffer.append(list.get(i).toString()+"n");
  5. }
  6. }

3、记得增加关于Scard卡的读写权限。这个非常重要。至于开启线程的事,我就不多说了 。

总结:这次代码在小地方纠结了非常久,真的非常不应该。主要问题是两个,一个是怎么遍历目录下的子文件,第二,怎么获取加入进去的文件路径;

希望这些能对大家实用!

Android 扫描Scard卡全部的图片的更多相关文章

  1. Android获取SD卡中选中图片的路径(URL)

    最近在做一个图片上传的功能,需要提供上传图片在SD卡中的路径,在网上看了些例子,改改调试成功,代码很简单.其布局文件如下: [html]  view plain copy   <?xml ver ...

  2. android 读取sd卡中的图片

    一.获取读取SD卡的权限 <!--在SDCard中创建与删除文件权限  -->    <uses-permission android:name="android.perm ...

  3. Android扫描SD卡中的文件

    当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这个数据库中进行的,而不是直接 ...

  4. Android 常见SD卡操作

    目录 Android 常见SD卡操作 Android 常见SD卡操作 参考 https://blog.csdn.net/mad1989/article/details/37568667. [0.] E ...

  5. android 照相或从相册获取图片并裁剪

    照相或从相册获取图片并裁剪 在android应用中很多时候都要获取图片(例如获取用户的头像)就需要从用户手机上获取图片.可以直接照,也可以从用户SD卡上获取图片,但获取到的图片未必能达到要求.所以要对 ...

  6. Android 检测SD卡应用

    Android 检测SD卡应用 //                                    Environment.MEDIA_MOUNTED // sd卡在手机上正常使用状态  // ...

  7. Android之ListView异步加载图片且仅显示可见子项中的图片

    折腾了好多天,遇到 N 多让人崩溃无语的问题,不过今天终于有些收获了,这是实验的第一版,有些混乱,下一步进行改造细分,先把代码记录在这儿吧. 网上查了很多资料,发现都千篇一律,抄来抄去,很多细节和完整 ...

  8. Android 从 Android 本地图库选择多个图片

    原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...

  9. Android 界面滑动卡顿分析与解决方案(入门)

    Android 界面滑动卡顿分析与解决方案(入门) 导致Android界面滑动卡顿主要有两个原因: 1.UI线程(main)有耗时操作 2.视图渲染时间过长,导致卡顿 目前只讲第1点,第二点相对比较复 ...

随机推荐

  1. mongodb的基本操作数据更新

    先启动服务器 查看数据库 选择数据库 删除数据库 插入信息 查看插入的表名 查看信息 修改表数据 修改指定信息,其他信息不改变 可以使不存在的命令进行修改并保存 修改多条数据 删除数据 删除表 查看集 ...

  2. Apache Log4j 2 is Coming

    刚刚从同事那里得知,log4j 2 出beta版本了. 有啥提升呢? Improved PerformanceLog4j 2 contains next-generation Asynchronous ...

  3. ACM-ICPC 2018 沈阳赛区网络预赛 J树分块

    J. Ka Chang Given a rooted tree ( the root is node 11 ) of NN nodes. Initially, each node has zero p ...

  4. 代码托管在阿里云并用git拉取

    1.在阿里云上注册一个账号,https://code.aliyun.com/ 2.创建组 3.添加组员权限 4.添加项目 5.复制项目地址 安装git   https://git-scm.com/   ...

  5. mybatis学习(六)——参数处理

    先总结一下,后面再一个个解释: 单个参数:直接使用#{参数名}进行取值,mybatis没做特殊处理,参数名可以随便写. 多个参数:使用#{param1},#{param2}取值 命名参数:通过@par ...

  6. api调用安全

    直接传 key 简直就是多此一举啊,随便监听一下网络就能把你的 key 盗走. 最简单的方式是使用签名,各大开放平台都是这样做的,性能好,安全性不错. 签名基本原理是通过 key/secret 的实现 ...

  7. spring mvc处理静态文件

    现在流行REST开发风格,REST风格的URL 是不希望看到例如:*.do后缀的. <servlet-mapping> <servlet-name>cxy</servle ...

  8. 标准C程序设计七---64

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  9. yii模板中常用变量总结

    yii模板中常用的一些变量总结. 现有这样一个url:http://www.phpernote.com/demos/helloworld/index.php/xxx/xxx 则通过如下方式获取的值对应 ...

  10. LeetCode OJ-- Spiral Matrix

    https://oj.leetcode.com/problems/spiral-matrix/ 螺旋矩阵,逆着转,输出矩阵中的元素. 在纸上模仿,然后记左上角(l1,l2)右上角(l1,r2),左下角 ...