Android:proc文件夹中的无限循环

时间:2014-01-03 23:29:14

标签: android android-file

我正在Android中开发文件管理器应用程序。在我的应用程序中,我有一个按钮,显示每个文件夹的文件数和文件夹数。我使用递归函数,我的函数除proc文件夹外。函数进入该文件夹的无限循环。

我猜这个文件夹中有临时文件,但我不知道如何处理这种情况。

我没有在日志中收到任何警告,但我在日志中看到了这条路径。

proc/self/task/20561/cwd/sys/devices/platform/omap/omap_l3_noc.0/subsystem/devices/power.0

我该如何处理这个临时文件?

我的功能:

private void iterate(String directory) {
        File dir = new File(directory);

        File listFile[] = dir.listFiles();
        if (listFile != null && listFile.length > 0) {
            for (int i = 0; i < listFile.length; i++) {


                size = size + listFile[i].length();

                if (listFile[i].isDirectory()) {

                    numberOfFolders++;
                    iterate(listFile[i].getAbsolutePath());

                } else {

                    numberOfFiles++;

                }
            }


        }
    }

1 个答案:

答案 0 :(得分:2)

避免/proc /dev(有时)和/sys,你会没事的。 /proc/sys肯定会有递归,我也在/dev看过它们。

基本上避免所有虚假(什么是正确的单词?)文件系统。

你无法检测到这种递归(无论如何),因为你已经看到路径是递归的,它不像跟随..然后回到父的子,两个不同的路径递归中的级别是不同的,其中./A/B/C./A/../A/../A/B/../B/./././C在技术上是相同的。

BTW为什么要扫描这些文件?他们不是真的!你有什么用途可以扫描吗?

请把它放在问题中!

<强>附录

在终端中运行mount,不要触摸任何非设备的内容。这肯定会有所帮助。 'cept /dev/pts

例如,我可以使用sshfs将我的其他笔记本电脑的FS安装到这台笔记本电脑上,我可以将这台笔记本电脑的fs安装到我的电脑中,将我的电脑的fs安装到我的其他笔记本电脑上,如果我不小心扫描的话3台计算机的递归!