JFileChooser对话框中,用户浏览到包含其配置文件的位置。我想将该位置作为工作目录,但是System.getProperty("user.dir")似乎指向应用程序启动的位置。我该如何解决?

假设

 D:\netbean\projects\test


那就是应用程序启动的地方。然后,用户单击按钮并浏览到

 D:\configs


代码看起来像

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


指向netbeans文件夹,在我的情况下这是错误的。

最佳答案

System.getProperty("user.dir")是在运行时定义的系统属性,
 运行JVM的目录。
 它与包含在JFileChooser中选择的文件的目录没有关系。

您可以使用getParentFile()File方法来检索包含用户选择的文件的文件夹:

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

08-03 17:04