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