2012-08-29 28 views
2

我想跟蹤unix框中某個位置的多個文件,並在長時間沒有人使用它們的情況下刪除它們。 我想搜索引用計數,但沒有得到很多谷歌的幫助。 我也看到了Java 7中的FileTime,它可以給我上次訪問的時間,但我必須使用Java 6的上述工作。 如果任何人有任何想法或引用計數的好的參考,以及如何使用它,它會大。在java中跟蹤一個文件1.6

回答

0

好吧,所以我們想要上次訪問時間。

您可以閱讀Get the Last Access Time for a File瞭解更多信息。

你可以試試看看http://jdevel.wordpress.com/2011/04/08/file-last-access-time-in-java-on-linux/是否有可能的靈魂,但這是Linux,而不是Unix。

最後,你可以借同樣的想法,並使用JNAJNI

+0

該文件不會被修改,只有在創建它時纔會被讀取。 – randeepsp

+0

我的歉意,我殼深挖一點 – MadProgrammer

1

您可以使用apache common IO。在您的目錄上設置觀察者,該觀察者檢查目錄並通知監聽者創建,更改或刪除eventslisten。通過這個可以跟蹤哪個目錄已經被用戶使用,而其他目錄不是。

+0

我想刪除每個文件的基礎。該目錄將有很多文件,我想刪除沒有被使用的文件。 – randeepsp

+0

你甚至可以在一些特定的文件或所有文件上做。 [檢查api](http://commons.apache.org/io/api-release/org/apache/commons/io/monitor/FileAlterationObserver.html) –

0

直到JDK 1.6都沒有文件監視模塊。你可以做的是,你可以通過查看java.io.File類的lastModified()方法的

來編寫自己的文件觀察器。

它將最後一次修改時間作爲長整型值返回給您,並在規律間隔期間監視此文件。如果總時差

(presentTime - 最後修改時間)

超過您的時間條件,您可以刪除該文件。

+0

該文件不會被修改,它只能被讀取一次它創建於 – randeepsp

+0

這裏您的創建時間是上次修改時間。所以你需要執行當前的創建時間,如果超過你的時間限制,刪除文件。 – sakthisundar