Java 读取子目录创建日期的步骤

Java 读取子目录创建日期的步骤,java,Java,我有一个主文件夹“G:\TestFiles”。在TestFiles文件夹中,我有5个子文件夹是在不同的日期创建的。我想得到这些子目录的创建日期。这就是我到目前为止所做的: public static void main(String aa[]) throws IOException { BasicFileAttributes bfa = null; File dir = new File("G:\\TestFiles"); Path filePa

我有一个主文件夹“G:\TestFiles”。在TestFiles文件夹中,我有5个子文件夹是在不同的日期创建的。我想得到这些子目录的创建日期。这就是我到目前为止所做的:

public static void main(String aa[]) throws IOException
{
        BasicFileAttributes bfa = null;

        File dir = new File("G:\\TestFiles");
        Path filePath = dir.toPath();

        File[] subDirs = dir.listFiles(new FileFilter() {
            public boolean accept(File pathname) {
                return pathname.isDirectory();
            }
        });
        for (File subDir : subDirs)
        {

        bfa = Files.readAttributes(filePath, BasicFileAttributes.class);

        long milliseconds = bfa.creationTime().to(TimeUnit.MILLISECONDS);
        if((milliseconds > Long.MIN_VALUE) && (milliseconds < Long.MAX_VALUE))
        {
            Date creationDate = new Date(bfa.creationTime().to(TimeUnit.MILLISECONDS));

            System.out.println("File " + filePath.toString() + " created " +
                    creationDate.getDate() + "/" +
                    (creationDate.getMonth() + 1) + "/" +
                    (creationDate.getYear() + 1900));
        }
        }
}

用我的方法,我没有得到正确的输出。谢谢你的帮助

您总是读取父文件夹的属性:

bfa = Files.readAttributes(filePath, BasicFileAttributes.class);
您应该读取当前子文件夹的属性

bfa = Files.readAttributes(subDir.toPath(), BasicFileAttributes.class);
bfa = Files.readAttributes(subDir.toPath(), BasicFileAttributes.class);