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

Mar*_*gea 32 java directory file

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

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

它返回.classpath,但我很确定我在这个文件夹中有其他java文件.也许当前文件夹的点符号不正确?

Sac*_*ach 26

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

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());
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

仅检索文件/文件夹

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());
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)


And*_*son 11

也许当前文件夹的点符号不正确?

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

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

您的IDE在调用JVM时设置类路径.

EG(到达Netbeans)如果选择菜单File| Project Properties (all classes)你可能会看到类似的东西:

Netbeans项目选项

这是Working Directory感兴趣的.