JFileChooser - 在当前目录中打开

22

我有一个简单的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
当然,这很奇怪,特别是因为我要向用户显示这个。现在,我可以采取一些有趣的后缀子字符串处理方式来消除那个"/./"部分,但是...有没有一种非懒惰程序员的方法来解决这个问题?提前感谢!

2
java.io.File.getCanonicalPath()? - Ramón Gil Moreno
1个回答

39

使用系统属性"user.dir",方法如下:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接