0

我已经阅读了一个文件目录。我把所有的文件列表都拿出来了。但是最后修改日期有问题。我用 ftp 应用程序检查文件的日期是昨天。

部分代码是

File file1 = new File(filePath+retFilename);

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy h:mm:ss a");
long getModifiedDateTime = file1.lastModified();
java.util.Date fmtModifiedDateTime = new java.util.Date(getModifiedDateTime);                   
String getModifiedDate = sdfDate.format(fmtModifiedDateTime);

修改后的日期总是返回纪元。并且没有捕获到 i/o 异常。我的 ftp 应用程序是核心 FTP

还有一件事是

long fileSize = file1.length();

文件大小似乎为0。它与上次修改日期有什么关系吗?

4

1 回答 1

1

File.lastModified0L如果文件不存在或存在某种 I/O 错误,则返回- 可能包括文件权限不足。唯一应该抛出异常的情况是如果 aSecurityManager撤销了对资源的访问。这可能是您在尝试此操作时看到“01-01-1970”(一种令人困惑的日期格式 IMO)的原因。

尝试使用File.isFile, File.isDirectory, File.exists, 或File.canRead在尝试调用之前File.lastModified:您可能有一个File未指向有效位置的对象。

于 2012-07-17T15:28:03.603 回答