📅  最后修改于: 2023-12-03 15:25:46.387000             🧑  作者: Mango
本文将介绍一款用Java编写的程序,可以打印出指定目录下所有的文件和子目录的最后修改时间。
在实际生产开发中,经常需要查看文件或目录的修改时间,以便进行维护和管理。然而,人工查看显然效率很低,因此编写一个程序,自动打印出目录和文件的最后修改时间,能够大大提高效率。
本程序可以实现以下功能:
java PrintDirectoryLastModifyTime [directoryPath] [outputPath] [fileName]
其中,directoryPath
为指定的目录路径,outputPath
是输出文件的路径,fileName
是输出文件的名称。若不指定 outputPath
和 fileName
,则默认输出到控制台。
以下是本程序的关键代码片段,仅供参考。
public static void printDirectoryLastModifyTime(String directoryPath, String outputPath, String fileName) throws IOException {
File directory = new File(directoryPath);
File[] files = directory.listFiles();
Arrays.sort(files); // 排序,让输出结果有序
if (outputPath != null && fileName != null) {
File output = new File(outputPath, fileName);
if (!output.exists()) {
output.createNewFile();
}
PrintWriter writer = new PrintWriter(new FileWriter(output));
for (File file : files) {
String line = file.getName() + "\t" + new Date(file.lastModified());
writer.println(line);
if (file.isDirectory()) {
printDirectoryLastModifyTime(file.getAbsolutePath(), outputPath, fileName);
}
}
writer.close();
} else {
for (File file : files) {
System.out.println(file.getName() + "\t" + new Date(file.lastModified()));
if (file.isDirectory()) {
printDirectoryLastModifyTime(file.getAbsolutePath(), null, null);
}
}
}
}
本程序使用递归方法,遍历指定目录下的所有文件和子目录,并输出它们的最后修改时间。如果指定了输出到文件,则将结果输出到指定文件中。
本文介绍了一款用Java编写的程序,可以打印出指定目录下所有的文件和子目录的最后修改时间。程序功能完善,并且易于使用,希望可以对广大程序员提供帮助。