Java can';找不到代码错误-尝试打印父目录的名称

Java can';找不到代码错误-尝试打印父目录的名称,java,io,Java,Io,和标题一样,我试图打印当前目录和父目录的名称,并打印每个目录的所有文件和目录。代码在当前目录下运行良好 但当我试图打印父目录的名称时,不知何故它只是一个空白 下面是我的代码 import java.io.*; class IOTest2 { public static void printList(File[] list) { for(int i=0; i<list.length; i++) { System.out

和标题一样,我试图打印当前目录和父目录的名称,并打印每个目录的所有文件和目录。代码在当前目录下运行良好

但当我试图打印父目录的名称时,不知何故它只是一个空白

下面是我的代码

import java.io.*;

class IOTest2
{
    public static void printList(File[] list)
    {
        for(int i=0; i<list.length; i++)
        {
            System.out.print(list[i].getName());
            if(list[i].isDirectory())
                System.out.println("\t \t DIR");
            else
                System.out.println("\t \t FILE");
        }
    }
    public static void main(String[] args)
    {
        String workingDir = System.getProperty("user.dir");
        File currentDir = new File(workingDir);
        System.out.println("current dir: " + currentDir.getName());
        File[] curList = currentDir.listFiles();
        printList(curList);

        System.out.println("--------------------------");
        File parentDir = currentDir.getParentFile();
        System.out.println("parent dir: " + parentDir.getName());
        File[] parList = parentDir.listFiles();
        printList(parList);
    }
}

谢谢您的时间:)

您当前的目录是
C:\JavaStudy
,但由于
C:
是驱动器,因此它不会(如预期的那样)打印出
C:\
文件路径。如果希望打印字符串
C:\
,而不是:

File parentDir = currentDir.getParentFile();
System.out.println("parent dir: " + parentDir.getName());
只要打电话:

System.out.println("parent dir: " + currentDir.getParent());

它总是返回父目录的字符串(如果不存在,则返回null)

在我的机器上,它打印出:

--------------------------
parent dir: C:\
$Recycle.Bin         DIR
etc...

“C:\”不是目录名,而是驱动器名。父目录名“C:\JavaStudy”确实是空的。哦!!我不知道,谢谢你!我想我希望会有一个C或其他的…@asdfqwer没问题:D
File parentDir = currentDir.getParentFile();
System.out.println("parent dir: " + parentDir.getAbsolutePath());
--------------------------
parent dir: C:\
$Recycle.Bin         DIR
etc...