gpt4 book ai didi

java - JFileChooser 的 FileFilter 不过滤文件 - 不知道为什么,有代码

转载 作者:行者123 更新时间:2023-12-03 02:57:36 25 4
gpt4 key购买 nike

我只想使用 FileChooser 选择 .csv 文件,但当选择器打开时,我会看到所有扩展名。我还需要设置更多的东西吗?

        btnFile.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e){
chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("Choose Value File");
chooser.addChoosableFileFilter(new CSVFilter());

if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
System.out.println("getCurrentDirectory(): "
+ chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : "
+ chooser.getSelectedFile());
}
else {
System.out.println("No Selection ");
}

}
});

而Filter是嵌套类

class CSVFilter extends javax.swing.filechooser.FileFilter {
public boolean accept(File f) {

return f.isFile() || f.getName().toLowerCase().endsWith(".csv");
}

public String getDescription() {
return "*.csv";
}
}

最佳答案

也许应该是:

    return f.isFile() && f.getName().toLowerCase().endsWith(".csv");

不是:

    return f.isFile() || f.getName().toLowerCase().endsWith(".csv");

关于java - JFileChooser 的 FileFilter 不过滤文件 - 不知道为什么,有代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7076083/

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