2017-05-02 1 views
0

JFileChooserダイアログがあり、ユーザーがその設定ファイルを含む場所を参照します。その場所を作業ディレクトリとして取得したいのですが、System.getProperty("user.dir")はアプリケーションが起動する場所を指しているようです。どうすれば修正できますか?JFileChooserで作業ディレクトリを取得する

は、アプリケーションの起動である

D:\netbean\projects\test 

と仮定する。その後、ユーザーがボタンをクリックすると

D:\configs 

に私の場合は間違っているNetBeansのフォルダを指す

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

のようなコードを見て参照します。

答えて

3

System.getProperty("user.dir")は、ランタイム時に定義されたシステムプロパティで、 というJVMが実行されたディレクトリです。
JFileChooserで選択されたファイルを含むディレクトリとは関係ありません。あなたは、ユーザーが選択したファイルを含むフォルダ取得するためにFilegetParentFile()方法を使用することができます

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

は、恐れ入りますが、それに関連するマイナーな問題のための更新記事を参照してください。 – mahmood

+0

ようこそ。私は答えを編集しません。それ以外の場合は、質問と回答を再利用できません。私は次のコメントでコメントで答えます。私の答えが十分でない場合は、この新しい必要性に関する新しい質問を自由に開いてください。現在のアプリケーションが実行されているか、または次のすべてのアプリケーションが実行されている(実際の永続的なデータ)ために​​最後の場所が記憶されるようにしますか? – davidxxx

関連する問題