java - 读取目录中的所有文件(包括其子目录)

标签 java file recursion

这就是我设置路径的方式:

    dPath = dPath.replace("\\", "/");

    String iLen;
    String FileName;

    File iFolder = new File(dPath);
    File[] listOfFiles = iFolder.listFiles();

搜索时:

    for (int i = 0; i < listOfFiles.length; i++) 
    {
        if (listOfFiles[i].isFile()) 
        {
            FileName = listOfFiles[i].getName();

            for(String s : iEndsWith)
            {
                if(FileName.toLowerCase().endsWith(s))
                {
                    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy h:mm aaa");
                    iLen = ReadableBytes(listOfFiles[i].length());

                    Object rowData[] = { FileName, listOfFiles[i].getAbsoluteFile(), sdf.format(listOfFiles[i].lastModified()), iLen };
                    iTableModel.addRow(rowData);

                    iTotalFiles ++;
                }
            }
        }
    }

这只会查找给定目录路径中的文件,但不会查找其子目录。我怎样才能改变它?

最佳答案

如果您使用的是 Java 7,则可以使用 FileVisitor:http://docs.oracle.com/javase/tutorial/essential/io/walk.html

如果没有,只需使用函数的简单递归版本。

关于java - 读取目录中的所有文件(包括其子目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170250/

相关文章:

java - 在antlr语法g4文件中使用Java代码

java - Jackson ObjectMapper 意外字符 - JSON 有效

python - 字符串的基本递归?

java - 在递归对象上实现 equals 和 hashCode (JPA @ManyToMany)

recursion - Racket :识别尾递归?

java - 对数据库或数组进行排序

java - 重写,以便 Math.atan() 无论方向如何都可以工作

JavaFX 扩展 PropertyValueFactory

c - 为什么 ftell() 在 fread() 之后显示错误的位置?

python - 在下次运行时执行的 python 中写入文件