Java中的文件年龄

时间:2011-06-10 13:22:28

标签: java file modulo

我需要根据文件的名称查找文件的年龄。 Alle文件保持这样的命名约定:DD-MM-YYYY。

我可以使用模数运算符制作程序,根据已经过了多少天/月来提出文件名,但我似乎无法理解如何从名称中计算年龄。欢迎任何提示。

任何codeamples / -suggestions最好是Java。

此致 马丁

2 个答案:

答案 0 :(得分:7)

您可以使用DateFormat 解析日期以及格式化日期。

未测试:

String name = file.getName();
String datePortion = /*extract date portion*/;

DateFormat fmt = new SimpleDateFormat("dd-MM-yyyy");
Date fileDate = fmt.parse(datePortion);
long msBetweenDates = new Date().getTime() - fileDate.getTime();

如何提取日期部分取决于您的文件命名方案,但它可能很简单:

String datePortion = name.replaceAll(".*((\\d)+-(\\d)+-(\\d)+).*", "$1");

答案 1 :(得分:1)

如果上次修改日期足够,您可以使用:

    File file = new File("C:/file.txt");
    Date date = new Date(file.lastModified());
    System.out.println(date);