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

Android:proc文件夹中的无限循环,android,android-file,Android,Android File,我正在用Android开发文件管理器应用程序。在我的应用程序中,我有一个按钮,显示每个文件夹的文件数和文件夹数。我使用递归函数,我的函数除了proc folder外都可以工作。函数进入此文件夹的无限循环 我猜这个文件夹中有临时文件,但我不知道如何处理这种情况 我在日志中没有收到任何警告,但我在日志中看到了此路径 proc/self/task/20561/cwd/sys/devices/platform/omap/omap_l3_noc.0/subsystem/devices/power.0 如

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

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

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

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++;

                }
            }


        }
    }
private void iterate(字符串目录){
文件目录=新文件(目录);
文件listFile[]=dir.listFiles();
if(listFile!=null&&listFile.length>0){
for(int i=0;i
避免
/proc
/dev
(有时)和
/sys
,你会没事的
/proc
/sys
肯定有递归,我也在
/dev
中见过它们

基本上避免所有伪造的(正确的词是什么?)文件系统

您无法检测此递归(无论如何都是如此),因为正如您所看到的,路径是递归的,它与遵循
不同。
然后返回父级的子级,递归中两个不同级别的路径是不同的,其中as
/A/B/C
/A/./A/./A/B/./B/./C
在技术上是相同的

顺便问一下,你为什么要扫描这些文件?它们不是真的!你扫描它们有什么用

请把这个问题提出来

附录

在终端中运行
mount
,不要触摸非设备的任何东西。这当然会有所帮助。”cept
/dev/pts


例如,我可以使用
sshfs
将我的其他笔记本电脑的FS装载到此笔记本电脑上,我可以将此笔记本电脑的FS装载到我的电脑中,并将我的电脑的FS装载到我的其他笔记本电脑上,现在,如果我在3台电脑上扫描时不小心递归

给我们一些代码,不管怎样,检查文件夹名是否不是'proc'可以做这项工作吗?我可以把我的代码,但它非常简单的递归。我可以检查文件夹名称是否为proc,但市场上有相同的应用程序显示proc文件夹中的文件数。即使是非常简单的代码也可能有错误或有关问题根本原因的信息。我不知道这是否是最好的主意,但你可以计算为同一文件夹调用该函数的次数,如果计数器的值大于10000,则转到下一个文件夹。我想显示文件夹的数量、文件的数量以及这些文件夹的大小。@SavasCinar了解一下unix文件系统和挂载内容,如果您只是避免使用/proc/dev和/sys,那么您可能是安全的,例如/proc/sda是您的主硬盘,如果你读到你正在从你的硬盘读取字节/dev/sda1是第一个分区,文件系统程序读取这些“文件”来报告目录和内容中的项目列表。另外,/proc、/dev和/sys也不能提供有意义的计数或大小,它们不在磁盘上,Linux只是告诉您它们在那里/例如,proc/cpuinfo“出现”包含CPU信息。感谢Alec的解释。我将避免使用这三个文件夹。