如何列出当前目录中的文件?

2022-09-01 03:12:47

我希望能够列出当前目录中的文件。我做了一些应该工作的东西,但没有返回所有的文件名。

File dir = new File(".");
File[] filesList = dir.listFiles();
for (File file : filesList) {
    if (file.isFile()) {
        System.out.println(file.getName());
    }
}

它返回,但我非常确定我在这个文件夹中还有其他java文件。也许当前文件夹的点表示法不正确?.classpath


答案 1

试试这个,以检索文件夹和子文件夹内的所有文件

public static void main(String[]args)
    {
        File curDir = new File(".");
        getAllFiles(curDir);
    }
    private static void getAllFiles(File curDir) {

        File[] filesList = curDir.listFiles();
        for(File f : filesList){
            if(f.isDirectory())
                getAllFiles(f);
            if(f.isFile()){
                System.out.println(f.getName());
            }
        }

    }

仅检索文件/文件夹

public static void main(String[]args)
    {
        File curDir = new File(".");
        getAllFiles(curDir);
    }
    private static void getAllFiles(File curDir) {

        File[] filesList = curDir.listFiles();
        for(File f : filesList){
            if(f.isDirectory())
                System.out.println(f.getName());
            if(f.isFile()){
                System.out.println(f.getName());
            }
        }

    }

答案 2

也许当前文件夹的点表示法不正确?

打印 File.getCanonicalFile() 的结果以检查路径。

任何人都可以向我解释为什么src不是当前文件夹?

IDE 在调用 JVM 时设置类路径。

例如(到达 Netbeans)如果您选择菜单| 您可能会看到类似于以下内容的内容:FileProject Properties (all classes)

Netbeans project options

这是这里感兴趣的。Working Directory