2012-10-23 94 views
-4

請指教算法let say如果在C中創建了一個def.txt文件,那麼它本身不應該在1小時內修改,如果它在1小時內沒有修改,我必須打印在控制檯「文件沒有修改」,如果它是在1小時本身修改,然後我必須打印語句「該文件被修改」,請告知如何編寫這樣的算法在java或如何在java中實現這一點在文件修改中尋找算法

+0

你做了什麼? –

+0

您需要將它作爲系統服務/守護程序嗎?考慮不要爲此使用Java。在不同的語言中會更容易。 –

+0

請提供您已完成的任務 – Ngm

回答

0
public static void main(String[] args) { 
File f = new File("/temp/t.txt"); 
long lastModified = f.lastModified(); 
long currentTime = System.currentTimeMillis(); 
long difference = currentTime - lastModified; 
// time is in milliseconds, one hour is 60 * 60 * 1000 milliseconds 
long oneHour = 1000 * 60 *60; 
if (difference > oneHour) 
    System.out.println("file is not modified"); 
else 
    System.out.println("that file is modified"); 
} 
+0

Kimaschewski..Thanks很多,真的很大的努力,非常感謝你能讓我知道一件事,我正在閱讀屬性文件將它也適用於屬性文件..也! – user1767821

+0

PropertyFile propertyfile = new PropertyFile(「TamperAlert.txt」,「C:/ abcstore/osErrlogs」) – user1767821

+0

我不知道PropertyFile類,它不是Java標準類。但是如果它以某種方式連接到一個標準的Java文件類,它應該沒有問題。 –

0

如果您需要監控多個文件/目錄,則可以實施Watch Service,請參閱:「創建Watch服務並註冊活動」,地址爲here。捕獲ENTRY_CREATE和ENTRY_MODIFY事件將允許您採取適當的行動。在創建記錄上創建時間,並在修改時檢測修改時間小於或大於一小時。

+0

我正在讀取屬性文件..PropertyFile propertyfile = new PropertyFile(「TamperAlert.txt」,「C:/ abcstore/osErrlogs「); ..現在根據這一個TamperAlert.txt在我的C:中創建,我想跟蹤它不應該在1小時的時間範圍內修改 – user1767821

0

在每次嘗試修改文件時,請首先檢查file.lastModified()System.currentTimeMillis()之間的差值是否小於1小時(以毫秒爲單位)。

需要時您必須調用此驗證服務(=提供驗證方法的對象)。

+0

@ Andreas ..我在閱讀屬性文件..PropertyFile propertyfile = new PropertyFile(「TamperAlert.txt」,「C:/ abcstore/osErrlogs」);現在根據這個TamperAlert.txt創建在我的C:中,我想跟蹤它不應該在1小時內修改 – user1767821

+0

由java應用程序修改或一般修改? –

+0

由java應用程序修改,換言之,在TamperAlert.txt中有一個屬性名稱dfgh,其值爲o,但如果應用程序在某些情況下修改它,則dfgh的值將變爲1,因此我必須注意不要修改它在1小時內本身 – user1767821