2012-05-01 92 views
1

當我在Java下載文件,我想救GETDATE坐落在Java中的文件的其他信息

URL url = new URL("http://theurl.com"); 
URLConnection conn = url.openConnection(); 
conn.getDate() 

這種方式,則需要該文件的下一次我檢查lastModified() VS getDate()如果文件改變了,重新下載它。

我的問題是,如果有一些地方或技術,我可以使用保存下載那一刻的GETDATE(),而不使用數據庫(也許使用aditional的信息或類似的文件中的某些特殊的地方)

注:我不能使用的文件的名字,因爲它必須是原始一個

回答

2

那麼聽起來真是你可以從與文件存儲雖然沿元數據存儲中受益......

但黑客可能會使用java.io.File方法setLastModified設置文件上的修改時間,t這可能會被其他人改變(例如,通過在文件編輯器中打開文件),這對你不利。

+0

感謝您的回答。它可以適用於我的情況,因爲這些文件不會保存在公共(並且可由用戶訪問)的文件夾中。所以沒有問題:D – Addev

+0

另外,請注意,即使其他人對其進行了更改,它也有資格成爲不具有權威性的副本;在這種情況下,應用可能需要下載服務器的版本。 –

1

Java API for File表示有一個setLastModified(long time)函數,您可以調用該函數來設置上次修改日期。當您在本地保存文件時,您可以將上次修改設置爲您下載時所進行的getDate()調用。然後,當您下次檢查時,您將下載的getDate()與文件的lastModified進行比較,就像您想要的那樣。