4月 032017
 

需要对Android中的sdcard目录进行扫描,获取文件列表,而且要对文件进行排序

本文使用了非递归的方式进行扫描,用一个栈保存需要扫描的文件夹,用while循环所有目录和文件

排序分为在内部排序和整体排序:

  • 内部排序即每扫描到一个文件夹就对这个文件夹内的文件进行排序,然后再扫描他的子文件夹(某些场景会用到这种要求)
  • 外部排序即扫描完所有的文件后再进行排序。

根据最后的测试,外部排序速度明显优于内部排序,内部排序的时间约是外部排序的1.3倍。

基于此优化使用排序,如果场景不允许可以先内部排序满足某些条件后再改为外部排序。

下面为文件扫描类的代码FileScanner.java

github项目地址:https://github.com/wintergoes/AndroidFunctionTestApplication

打赏
 Posted by on 2017-04-03