2017-05-02 112 views
0

有一個JFileChooser對話框,其中用戶瀏覽到包含其配置文件的位置。我想將該位置作爲工作目錄,但是,System.getProperty("user.dir")似乎指向應用程序啓動的位置。我該如何解決這個問題?使用JFileChooser獲取工作目錄

假設

D:\netbean\projects\test 

是在應用程序啓動。然後在一個按鈕,用戶點擊並瀏覽到

D:\configs 

代碼看起來象

File selectedFile = fc.getSelectedFile(); 
myTextArea.setText("Working directory is " + System.getProperty("user.dir") + "\n"); 

指向NetBeans的文件夾這是錯誤的,我的情況。

回答

3

System.getProperty("user.dir")是在運行時定義的系統屬性,它是運行JVM的目錄,即 。
它與包含在JFileChooser中選擇的文件的目錄沒有任何關係。

您可以使用FilegetParentFile()方法檢索包含由用戶選擇的文件的文件夾:

File selectedFile = fc.getSelectedFile(); 
myTextArea.setText("Parent directory is " + selectedFile.getParentFile() + "\n"); 
+0

對不起,請參閱相關的是一個小問題的更新後。 – mahmood

+0

不客氣。我不會編輯答案,否則它不能使問題和答案可重用。我會在下一評論中迴應評論。如果我的答案不夠,請隨時打開關於這個新需求的新問題。你是否希望爲當前正在運行的應用程序或所有正在運行的下一個應用程序(實際持久數據)記住最後一個地方? – davidxxx