如何在Android中遞歸掃描目錄並顯示文件名?我正在嘗試掃描,但速度很慢(強制關閉或等待)。我正在使用FileWalker
課程,在單獨的答案to this question中給出。如何在Android中遞歸掃描目錄
2
A
回答
13
您幾乎總是隻能從非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());
0
System.out.println
調用真的很慢(嗯,它不是真正的函數本身,而是底層PrintStream,它需要花費大量時間在控制檯中編寫文本)。
用別的東西代替它們,它應該沒問題。例如,您可以創建並返回包含文件名的數組。
相關問題
- 1. 遞歸掃描bash中的目錄
- 2. 遞歸恢復目錄掃描
- 3. 遞歸掃描深層目錄
- 4. 遞歸掃描文件的目錄
- 5. 如何執行完整的遞歸目錄和文件掃描?
- 6. 遞歸掃描目錄和子目錄通過FTP與PHP
- 7. Android/Java - 遞歸掃描條件
- 8. 遞歸掃描SD卡android ndk
- 9. 如何掃描目錄樹?
- 10. 掃描目錄C++
- 11. PHP掃描目錄中的目錄
- 12. 如何在sonarqube中遞歸掃描代碼
- 13. 如何掃描目錄內的目錄在PHP循環
- 14. 紅移copy命令遞歸掃描
- 15. 遞歸函數掃描到DOM
- 16. Winforms遞歸文件掃描塊UI
- 17. 基本病毒掃描遞歸
- 18. 遞歸掃描DOM元素 - 使用Javascript
- 19. golang並行遞歸掃描樹
- 20. 有CMake遞歸掃描文件夾?
- 21. AS3遞歸對象掃描無重複?
- 22. 掃描文件遞歸和蟒蛇
- 23. GIT掃描.gitignore目錄
- 24. 使用javascript掃描目錄
- 25. 遠程目錄掃描
- 26. 如何在java中掃描不同目錄中的文件?
- 27. 如何在android中掃描QR碼
- 28. 目錄遞歸
- 29. 如何掃描從Android的
- 30. Java中的目錄掃描器
謝謝!我會試試看! – INCOGNITO 2012-07-14 09:04:39
原諒我的天真的問題,但在這裏如何分配上下文?我通常將它作爲參數傳遞給一個函數,但我在這裏看不到任何參數?沒有,上下文給我一個'無法解決'編譯錯誤。 – biscuitstack 2016-07-11 11:19:14
@biscuitstack你可以使用'Activity'或'Application'的實例作爲['Context'](https://developer.android.com/reference/android/content/Context.html)。 – 2016-07-11 13:18:40