2013-01-10 81 views
1

我要檢查文件是否存在且是一個目錄:如何確定文件是否在本地存儲在Java中?

File file = new File("C:\file.txt"); 
boolean isValidDir = file.exists() && file.isDirectory(); 

的文件可以在同一臺計算機上或網絡上的另一臺計算機上存儲。如果文件存儲在本地,這些方法會很快返回,但是如果它存儲在網絡的其他位置,並且網絡電纜斷開連接,則這些方法需要一段時間才能返回。另外,如果這些方法是從EDT調用的,UI將會凍結。 (我從另一個線程調用了這些方法來避免這個問題。)

我想知道是否有方法來判斷文件存儲在本地或網絡上的其他地方。這些方法在其他線程中仍然需要一段時間才能返回,但我需要使用EDT中上面的行結果來相應地繪製組件。任何建議將不勝感激。

+2

想想看,如果你能在Windows中發現,在Linux中沒有直接的方法(除了查看掛載表)來檢查它。我擔心這將是操作系統特定的,可能需要本地代碼。 – SJuan76

+0

哦,在Windows中,DFS(分佈式文件系統)允許您將遠程文件夾安裝爲本地目錄。 – SJuan76

+0

@ SJuan76在* IX中,我們從不在乎愚蠢的「網絡驅動器」:D – 2013-01-10 00:40:56

回答

0

只是一個建議 - 我會找到驗證本地文件系統上的文件所需的大致時間。如果花費大約1.5或2或3次大概時間,您可以假定該文件位於不同的文件系統上。

相關問題