gpt4 book ai didi

java - Date : Java 中的代码优化

转载 作者:行者123 更新时间:2023-12-01 16:56:47 24 4
gpt4 key购买 nike

我有一个代码可以打印子目录的创建日期。我得到了预期的输出,但我编写代码的方式不好,我认为它可以以更好的方式进行优化。正如您所看到的,for循环内部有三行代码,每次运行for循环时都会执行这三行代码,这增加了复杂性。

public static void main(String aa[]) throws IOException
{
DateFormat simpleDateFormat = new SimpleDateFormat("MM-dd-yyyy");

File file = new File("G:\\TestFiles");
File[] files = file.listFiles();

for(File subDir: files)
{

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

FileTime filetime = attribute.creationTime();

String strDate = simpleDateFormat.format(filetime.toMillis());

System.out.println(strDate);

}

}

我试图以这样的方式编写我的代码:在 for 循环内我应该只有 print 语句,其余三行应该在我的 for 循环之外。我采用的一种方法是声明我的子文件夹的路径,但它没有给出我的子文件夹的正确创建日期。

最佳答案

它对我来说看起来不错......你可以将其精简为:

    final DateFormat simpleDateFormat = new SimpleDateFormat("MM-dd-yyyy");
final File file = new File("G:\\TestFiles");

for (File subDir : file.listFiles()) {
System.out.println(simpleDateFormat.format(Files.readAttributes(file.toPath(), BasicFileAttributes.class)
.creationTime().toMillis())
);
}

...但是请留意 file.listFiles(),因为您可能很容易获得 NPE(尽管您也没有在原始代码中检查它)。

关于java - Date : Java 中的代码优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com