JFileChooser - 在当前目录中打开

2022-09-02 03:16:50

我有一个简单的JFileChooser,通过以下方式设置

JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
chooser.setFileFilter(new FileFilter() {
     ...
});

int v = chooser.showOpenDialog(this);
if (v == JFileChooser.APPROVE_OPTION) {
     File file = chooser.getSelectedFile();
     System.out.println(file.getAbsolutePath());
}

如您所见,此 FileChooser 从当前目录开始,在我的 Netbeans 项目中,该目录是项目文件夹的根目录。问题是:当我选择一个文件并打印出绝对路径时,它会在路径中包含。例如,我得到的输出是:"."

/Users/MyName/Folder1/Folder2/./Temp.xls

当然,这很奇怪,特别是因为我向用户显示这一点。现在,我可以变得笨拙,做一些有趣的后子字符串处理东西来摆脱那部分。但。。。有没有一种非懒惰的程序员方法来解决这个问题?提前致谢!"/./"


答案 1

使用系统属性“user.dir”,如下所示:

File workingDirectory = new File(System.getProperty("user.dir"));
chooser.setCurrentDirectory(workingDirectory);

答案 2

推荐