使用 JFileChooser 获取工作目录

Getting the working directory with JFileChooser

有一个 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.

中选择的文件的目录无关

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

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