java 打印目录下所有文件和目录的名字 疑问求解

图片说明

结果为:
Exception in thread "main" java.lang.NullPointerException
at IO.打印目录下所有目录名文件名.print(打印目录下所有目录名文件名.java:10)
at IO.打印目录下所有目录名文件名.main(打印目录下所有目录名文件名.java:25)

如果把main方法中File file = new File("d:"); 空指针异常会消失,编译会通过,但结果不对,请问大家为什么?
 d:/一个斜杠
或者
d:\\两个反斜杠

就不能把类名称定义为英文字符组合么?哪有用中文而且还是这么长的中文名称作类名的!

这个错误是因为你d盘下面根本没有"我的音乐"这个目录导致的空指针

首先你的目录错误应该改为D:\我的音乐
还有一个类的定义没有中文,当然这种定义不会报错、

\这个在java中是转义符,所以要它表示路径,必须再转移一次,也就是变成\,但是/这个就没有限制了,在java中路径可以用/隔开。也就是D:\我的音乐=D:/我的音乐。这两个都是争取的路径,别的路径就都不对了。

\这个在java中是转义符,所以要它表示路径,必须再转移一次,也就是变成\,但是/这个就没有限制了,在java中路径可以用/隔开。也就是D:\我的音乐=D:/我的音乐。这两个都是争取的路径,别的路径就都不对了。public static void main(String[] args) throws IOException {
File file = new File("F:\Droid4X");
fileName(file);
}

public static void fileName(File file) {
    File[] files = file.listFiles();
    for (File f : files) {
        if (f.isDirectory()) {
            fileName(f);
        } else {
            System.out.println(f.getName());
        }
    }
}