使用 NetBeans(java) 我创建了一个带有 JFileChooser 的 JDialog,当我尝试使用 ComboBox 打开一个 lnk 文件夹时(以其他方式工作正常),抛出异常并且该文件夹未打开。我发现这是一个错误:我尝试了一些解决方法,但没有奏效。你能帮助我吗?或者,你能建议我一个“技巧”吗?我想过阻止 JFileChooser(或至少 ComboBox)显示 lnk 文件夹,但我不知道该怎么做。
问问题
685 次
1 回答
1
您可以使用Apache CommonsFileFilter
中的 a和 theFileUtils
来阻止显示符号链接:
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "All (without symlinks)";
}
@Override
public boolean accept(File f) {
try {
return !FileUtils.isSymlink(f);
} catch (IOException e) {
return true; // Maybe to be changed to false depending on
// your use case
}
}
});
FileSystemView
正如@Andrew Thompson 建议的那样,另一种选择是使用 custom 。
编辑:仔细阅读您的问题后,您似乎对过滤 Windows 快捷方式更感兴趣。同样的技术适用:
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "All (without shortcuts)";
}
@Override
public boolean accept(File f) {
return !f.getName().endsWith(".lnk");
}
});
于 2012-08-29T15:22:56.610 回答