获取本地后缀名文件

最近有一个需求就是根据用户选择的格式(后缀名)来扫描本地的文件列表展示。

用户可能选择一个后缀名或者俩仨,总之不确定,我也是想着图省事网上看看有没有这样的找一个直接复制就完事了,可是大部分都是选择一种后缀名来搜索文件的。

对于文件操作很菜的我,有点小失望,但是功能还是得做啊。
github地址https://github.com/yuzhushi/FileSelect
接下来我们看一下效果:
在这里插入图片描述
这里选择了两种格式的文件。
在这里插入图片描述
获取出来的文件正好是我们想要搜索的格式。

在这里插入图片描述
popwindow里的列表是我自己手动添加的数据,适配器选择的网格式布局,每行三个。
在这里插入图片描述
简单的popwindow实现,来看一下 popwindow弹出框的确定按钮的点击事件:
在这里插入图片描述
在点击确定的时候,我们把用户选择的格式添加进了集合,没有添加的话提示他选择格式。

我们看是怎么获取文件的:
在这里插入图片描述
因为我是要获取手机里所有文件夹下符合的文件,所以我这里没有指定文件夹,故用以下路径:

     // 获得SD卡根目录路径
    File path = Environment.getExternalStorageDirectory();
    // 读取文件夹下文件
    File[] files = path.listFiles();

我们还需要判断sd卡是否存在,获取一下权限
在这里插入图片描述

开始使用递归的方法遍历手机里的文件,但是遍历文件的方法里有一个集合的参数,因为不知道用户选择几个格式来搜索,所以我们就把用户选择的 每一个格式都添加进集合来传递给遍历的方法。
在这里插入图片描述
把搜索到的文件都放进了arrayList集合里这样我们是不是就可以显示在列表上了呢,是不是也觉得很简单呢。

**github地址:**https://github.com/yuzhushi/FileSelect

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值