android遍历根目录遇到link文件造成死循环

问题描述

android遍历根目录遇到link文件造成死循环
android递归遍历根目录(/)时 子目录下遇到link文件(->)指向上层目录 link文件被识别为上层目录 递归造成死循环

public static void scanDirectory()    {        scanFile(new File(""/""));    }    public static void scanFile(File file)    {        if (null == file)            return;        if (file.isDirectory())        {            File[] files = file.listFiles();            if (null == files)                return;            else                for (File f : files)                    scanFile(f);        } else {            Log.i(""FILE"" file.getPath());        }    }

目录结构:

执行结果:

解决方案

用getCanonicalPath()还有getAbsolutePath()的返回值来比对
普通的文件 两个函数的返回是一样的
如果是link文件 前一个函数返回的是实际文件的路径 后一个函数返回的是链接文件的路径(所指向的路径)

时间: 2024-08-01 13:41:35

android遍历根目录遇到link文件造成死循环的相关文章

android安卓-android 在根目录创建文件

问题描述 android 在根目录创建文件 求教,请大神帮帮忙.如何在文件系统根目录创建目录和文件,字数字数字数字数字数字数字数字数字数字数字数字数字数 解决方案 String status = Environment.getExternalStorageState(); if (status.equals(Environment.MEDIA_MOUNTED)) { String main= Environment.getExternalStorageDirectory().getPath()+

Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法_Android

本文实例讲述了Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法.分享给大家供大家参考,具体如下: private void CopyAssets(String assetDir, String dir) { String[] files; try { // 获得Assets一共有几多文件 files = this.getResources().getAssets().list(assetDir); } catch (IOException e1) { ret

Android遍历所有文件夹和子目录搜索文件_Android

本文实例为大家分享了android遍历所有文件夹和子目录来搜索文件,供大家参考,具体内容如下 java代码: import java.io.File; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget

读取android根目录下的文件或文件夹实例_Android

最近几天真的是各种意义上的忙,忙着考试,还要忙着课程设计,手上又有外包的项目,另一边学校的项目还要搞,自己的东西还在文档阶段,真的是让人想死啊!! 近半个月来,C#这方面的编码比较多,android和java这里完全搁置了,于是抽空写个小例子. 这个例子非常小,就是一个读取android根目录下的文件夹或文件,当做热一下身. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstan

Android遍历所有文件夹和子目录搜索文件

本文实例为大家分享了android遍历所有文件夹和子目录来搜索文件,供大家参考,具体内容如下 java代码: import java.io.File; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget

Android 遍历SDCARD的文件夹并显示目录信息

Android 遍历SDCARD的文件夹并显示目录信息 private String mResult = new String(); private String[] mFileList = null; 1).显示所有文件/ File flist = new File("/mnt/sdcard"); mFileList = flist.list(); for(String str: mFileList){ mResult += str; mResult += "\n"

Android应用开发的一般文件组织结构讲解_java

认识Android编程各个文件之间的联系和使用方法,以及认识Activity文件结构的大体可以看下图: 代码在src中的.java文件中编辑,gen目录下有一个R.java的文件,这个文件存储res目录下各种资源文件的id号,在主文件java中调用该资源的时候直接调用id号即可,如 R.layout.main ,这个条目得打开R.java文件中查看,"R"对应R.java文件,"layout"对应R.java文件中的layout类,"main"对

Android系统中AndroidManifest.xml文件解析

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种 能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测

过滤Android工程中多余资源文件的解决方法_Android

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要