首先,在Android中用java递归去搜索文件肯定是非常慢的,因为java的File类携带了大量的冗余信息,而这些是我们不关心的。那我们何不如直接去linux底层拿到文件信息呢。 可是我怎么去拿呢?NDK【Native Development Kit】,拿到底层的文件名称和路径。 不推荐递归方式去拿,而是广度优先非递归的实现会更快一点。然后在拿到文件名称以后你就可以去做匹配了,也可以把所有的文件全部放到集合里抛到Java去处理。可以使用正则表达式去匹配。如果只是类型搜索,也就是后缀搜索,推荐用前缀树去做。