2010-12-13 33 views
0

自Windows 7以來,windows/system32/drivers/etc目錄被特別隱藏。 Windows 7本身並沒有顯示它,但它是在那裏,如果我手動打開它。在Java中顯示來自Windows 7的特殊隱藏文件/目錄

今天我玩弄了一個Java JFace Eclipse示例(http://www.ibm.com/developerworks/library/os-ecgui1/),並想知道java也不顯示etc目錄。

那麼在使用file.listFiles()時如何獲取所有目錄/文件? 任何想法?

回答

0

File.listFiles()方法應該在結果中包含正常的「隱藏」文件。如果不這樣做,那是因爲操作系統級別發生的事情將文件從應用程序(而不僅僅是用戶)隱藏起來。

我找不到java.io.File或提到訪問「特別隱藏」文件的Java 7 java.nio.*擴展名中的任何內容。

它可能是一個特權相關的事情...如果是這樣的話,解決方案是用提升的特權執行Java應用程序。

但簡單的解決方案是讓您的應用程序保持其Windows驅動程序目錄樹的鼻子。

0

正如我寫的,我玩弄了一個JFace示例,它構建了一個基於Java的Windows資源管理器。 我同意你的觀點,即Java應用程序通常不應該在Windows驅動程序目錄樹中執行某些操作。 那裏的「特別隱藏的」文件,與Total Commander等其他程序一樣可見,無需使用其他常規權限運行此程序。 我假設Windows有一些API函數來獲取這些信息。 我只是感興趣的基於Java的解決方案,可以告訴我的一切,這是在我的磁盤上...