首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFileChooser:仅列出以特定文本字符串开头的文件

JFileChooser:仅列出以特定文本字符串开头的文件
EN

Stack Overflow用户
提问于 2018-01-19 19:17:17
回答 2查看 152关注 0票数 0

我想用JFileChooser显示给定文件夹中所有文件的列表,但只显示那些以特定字符串开头的文件,而与它们的结尾扩展名无关。这是因为我有一个文件夹,里面的文件有3-4个不同的扩展名,比如:<<"customers.xls,customers.doc,customers.pdf,sales.xls,sales.txt,sales.doc...>>程序将从输入/用户那里得到一个特定的文件名,我想要显示所有与给定名称匹配的文件。到目前为止,我管理的是如何只过滤扩展名,这并不管理我需要的东西……有什么提示吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-01-19 19:23:14

为其创建自定义FileFilter:

代码语言:javascript
复制
JFileChooser jfc = ...;
String filePrefix = "customers";
FileFilter ff = new FileFilter() {
    public boolean accept(File f) {
        return f.getName().startsWith(filePrefix);
    }

    public String getDescription(){
        return "Custom Files";
    }
}

jfc.setFileFilter(ff);
票数 0
EN

Stack Overflow用户

发布于 2018-01-19 19:24:44

使用FileFilter:

定义:

代码语言:javascript
复制
class MyFilter implements FileFilter {

    String prefix;

    void setPrefix(String prefix) {
        this.prefix = prefix
    }

    public String getDescription() {
        return "MyFiles";
    }

    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        } else {
            return f.getName().startsWith(prefix);
        }
    }
}

用法:

代码语言:javascript
复制
MyFilter myFilter = new MyFilter();
myFilter.setPrefix("customer");

JFileChooser fileChooser = new JFileChooser();
fileChooser.addChoosableFileFilter(myFilter);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48339902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档