为什么用递归打印目录树状图的时候会报java.lang.NullPointerException错误

public static void main(String[] args) {
// TODO Auto-generated method stub
File f=new File("F:");
printfile(f,0);
}
static void printfile(File file,int level ) {
for(int i=0;i<level;i++) {
System.out.print("-");
}

    System.out.println(file.getName());

    if(file.isDirectory()) {
        File[] files=file.listFiles();
        for(File temp:files) {
            printfile(temp,level+1);
        }                                                                                                                                                                                   
    }
}

你从根目录遍历,可能会遇到没有权限的子目录,try catch跳过下。

空指针错误:
if(file!=null){
    System.out.println(file.getName());
    if(file.isDirectory()) {
        File[] files=file.listFiles();
        if(files!=null && files.Length>0){
            for(File temp:files) {
                printfile(temp,level+1);
            }   
        }                                                                                                                                                                                
    }
}