2012-07-17 40 views
0

我已經讀過文件目錄。我把所有的文件清單都列出來了,但最後修改日期有問題。我使用ftp應用程序檢查文件的日期是昨天。代碼的JSP java io文件上一次修改的日期是紀元,但在FTP中文件日期是昨天 - tomcat6

部分是

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。它有什麼做最後修改日期?

+0

零文件大小與上次修改日期無關。我認爲FTP是客戶端軟件,它使用本地時區。即使它使用本地時區, – 2012-07-17 04:54:02

+0

,最後修改日期應該在那裏嗎?但這一切都返回了紀元時間,這是1月1970年... – 2012-07-17 08:44:34

回答

1

File.lastModified返回0L如果文件不存在或者有某種I/O錯誤 - 可能包括文件權限不足。應該拋出異常的唯一時間是SecurityManager撤銷對資源的訪問。這很可能是您在嘗試此操作時看到「01-01-1970」(令人困惑的日期格式IMO)的原因。

嘗試使用File.isFileFile.isDirectoryFile.exists,或File.canRead試圖調用File.lastModified之前:你可能有一個File對象不指向一個有效的位置。

+0

問題是文件許可..謝謝你。 – 2012-07-19 04:16:57

相關問題