如何在 Android 中递归扫描目录并显示文件名?我正在尝试扫描,但速度很慢(强制关闭或等待)。我正在使用单独的答案 to this question 中给出的 FileWalker
类.
最佳答案
您应该几乎总是只从非 UI 线程访问文件系统。否则,您可能会长时间阻塞 UI 线程并收到 ANR。在 AsyncTask
的 doInBackground()
中运行 FileWalker。
这是一个略微优化的 FileWalker 版本:
public class Filewalker {
public void walk(File root) {
File[] list = root.listFiles();
for (File f : list) {
if (f.isDirectory()) {
Log.d("", "Dir: " + f.getAbsoluteFile());
walk(f);
}
else {
Log.d("", "File: " + f.getAbsoluteFile());
}
}
}
}
您可以像这样从后台线程调用它:
Filewalker fw = new Filewalker();
fw.walk(context.getFilesDir());
关于java - 如何在 Android 中递归扫描目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482204/