繁体   English   中英

Android:如何在SD卡上搜索文件?

[英]Android: How to search files on sd card?

给定输入的字符串,如何搜索SD卡上的文件?

我想搜索“ test”,并想要获取包含名称中包含“ test”字符串的所有文件的列表:

testfile.txt

filetest.jpg

thisisatestfile.xml

等等

您可以使用Apache Commons IO的 ListFiles() ,并传递RegexFileFilter FileFilter。

在Android项目中使用Commons IO jar库的示例:

Collection<File> files = FileUtils.listFiles(
                            Environment.getExternalStorageDirectory(),
                            new RegexFileFilter(".*test.*"),
                            TrueFileFilter.TRUE);

for(File f : files){
  //---do something---
}

另外,请在单独的线程中运行此代码,请考虑使用AsyncTask

  1. 您将需要获取要搜索的最顶层目录。 因为,如果您从/(根)开始搜索,则会浪费太多资源。 最好从/ sdcard(或顶级用户数据目录)开始
  2. 您将遍历它下面的所有目录,最好是递归的。
  3. 存储符合搜索条件的每个文件名
  4. 完成后,对结果进行任何操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM