gpt4 book ai didi

java - 如何修复 JFileChooser 的错误或避免阻止 JFC 显示快捷方式 (lnk) 文件夹的错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:12 26 4
gpt4 key购买 nike

使用 NetBeans(java),我使用 JFileChooser 创建了一个 JDialog,当我尝试使用 ComboBox 打开 lnk 文件夹(以其他方式工作正常)时,会引发异常并且未打开该文件夹。我发现这是一个bug :我尝试了一些解决方法,但它们不起作用。你能帮助我吗?或者,你能给我建议一个“技巧”吗?我考虑过阻止 JFileChooser(或至少是 ComboBox)显示 lnk 文件夹,但我不知道该怎么做。

最佳答案

您可以使用 FileFilter 来阻止显示符号链接(symbolic link)。以及 Apache Commons 中的 FileUtils :

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 所建议的。

编辑:仔细阅读您的问题后,您似乎对过滤 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");
}
});

关于java - 如何修复 JFileChooser 的错误或避免阻止 JFC 显示快捷方式 (lnk) 文件夹的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com