如何使用java在linux中查找文件创建日期?

时间:2013-08-30 09:36:19

标签: java linux

我需要使用java在linux机器上获取文件创建日期。许多变通办法在Windows中运行良好但在linux中失败了。需要一种在linux中获取文件创建时间的方法。请注意我的linux机器已经安装了java6。任何帮助深表感谢。谢谢你。

2 个答案:

答案 0 :(得分:2)

您可以在Linux中使用stat命令获取各种日期,但创建日期不可用。

相反,你可以获得关于文件的这3个日期:

  • 上次访问时间
  • 上次修改时间(文件内容)
  • 上次更改时间(文件元数据)

修改

要获取Java中文件的创建/修改时间(如果使用JDK 1.7),请参阅:http://docs.oracle.com/javase/tutorial/essential/io/fileAttr.html

根据这份文件:

  

关于时间戳的一个词:基本属性集包括三个   时间戳:creationTime,lastModifiedTime和lastAccessTime。任何   这些时间戳可能不受特定支持   实现,在这种情况下相应的访问器方法   返回特定于实现的值。

不幸的是Linux / Unix没有存储文件的创建时间,因此你无法获得它。

PS:如果您可以使用 ext4 filesystem ,那么您可以在Unix / Linux中获取文件的创建时间。

答案 1 :(得分:0)

嗯,这是获取文件创建日期的代码,

import java.io.*;
import java.util.Date;
import java.text.SimpleDateFormat;

public class LastModifiedDateTime
{
   public static void main(String[] args)
   {
      File file = new File("C:\\modifiedFile.txt");
      System.out.println("Before file format : " + file.lastModified());
      SimpleDateFormat sim = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
      System.out.println("After file format : " + sim.format(file.lastModified()));
   }
}

与此同时,您可以参考以下资源获取更多解释和示例

Oracle help centre

File last modified date