2014-02-21 45 views
1

在Java控制檯應用程序中,我試圖從共享網絡複製單個文件,只有連接到我們學院的內部網絡(內部域)時才能訪問該文件。檢查連接到共享網絡驅動器,如果連接了複製文件

所以這顯然不適用於我連接到任何其他網絡時,例如當我在家工作時。一些如何嘗試連接到網絡驅動器更長一點,然後我的應用程序的其他方失敗。

問題是,如何檢查此應用程序是否具有與該網絡驅動器的有效連接,然後嘗試複製此文件或讓其他進程正常工作。

因爲,我已經有這個文件的本地副本附加到應用程序。必須複製該文件才能更新附帶應用程序的文件以獲取最新信息。 但是,該應用程序也適用於本地文件。

哦,是的,我正在尋找平臺無關的東西,應該在Windows,Linux和Mac上工作。

任何方向或建議將是非常好的。

+0

您的複製文件功能也過於複雜。你也可以使用這樣的東西:http://stackoverflow.com/questions/106770/standard-concise-way-to-copy-a-file-in-java – swiss196

+0

是的,謝謝,我現在正在嘗試這一個。令人驚訝的是,當通過控制檯,Netbeans的入侵使得應用程序疲憊時,我沒有得到任何錯誤。 – Indigo

回答

1

看看File類及其函數,如isDirectory()& exists()。例如,

import java.io.File; 

public class Test { 

    public static void main(String[] args) { 
     File file = new File("\\\\server01\\\\folder"); 
     System.out.println(file.isDirectory()); 
     System.out.println(file.exists()); 

    } 
} 

對於一個有效的UNC路徑,這會打印:

true 
true 

對於無效,即不可訪問,這會打印:

false 
false 

注意:您所需要的4斜線表示「\」,因爲'\'用於轉義序列。