2

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

4

2 回答 2

2

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

相反,您可以获得关于文件的以下 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 中获取文件的创建时间。

于 2013-08-30T09:40:00.830 回答
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()));
   }
}

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

甲骨文帮助中心

文件最后修改日期

于 2018-01-13T10:44:39.900 回答