通过文件名过滤文件选择器

夜眼

我学习了如何使用filefilter使用过滤器。

FileFilter filter = new FileNameExtensionFilter("JPEG file", "jpg", "jpeg");

但是我想用包含某些字符串的文件来过滤我的文件选择器,例如在文件名中包含“ sample”。

只能选择具有这些字符串的文件,并且此过滤器必须不可编辑。我该怎么做?

夜眼
public class ImageFilter extends FileFilter {

    //Accept all directories and all jpeg, jpg files with lossy in its filename.
    public boolean accept(File f) {
        if (f.isDirectory()) {
            return true;
        }

        String extension = Utils.getExtension(f);
        String filename = Utils.getName(f);
        if (extension != null) {
            if ((extension.equals(Utils.jpeg) || extension.equals(Utils.jpg)) && filename.contains("lossy")) {
                    return true;
            } else {
                return false;
            }
        }

        return false;
    }

    //The description of this filter
    public String getDescription() {
        return "Images (Lossy)";
    }
}

这是我的utils课

public class Utils {
    public final static String jpeg = "jpeg";
    public final static String jpg = "jpg";

/*
 * Get the extension of a file.
 */
    public static String getExtension(File f) {
        String ext = null;
        String s = f.getName();
        int i = s.lastIndexOf('.');

        if (i > 0 &&  i < s.length() - 1) {
            ext = s.substring(i+1).toLowerCase();
        }
        return ext;
    }
    public static String getName(File f) {
        String fname = null;
        String s = f.getName();
        int i = s.length() - s.lastIndexOf('.');
        fname = s.substring(0,s.length()-i);

        return fname;
    }

    /** Returns an ImageIcon, or null if the path was invalid. */
    protected static ImageIcon createImageIcon(String path) {
        java.net.URL imgURL = Utils.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
}

申请,

fc.addChoosableFileFilter(new ImageFilter());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Kotlin:获取FileNotFoundException并从文件选择器中选择文件名?

来自分类Dev

如何强制 HTML 输入文件选择器在 Ionic(Android) 中给出原始文件名?

来自分类Dev

使用Dropbox API JS选择器时如何显示所选文件名

来自分类Dev

如何使用jq将文件合并为json,其中文件名是属性选择器,文件内容是值?

来自分类Dev

Google选择器未按文件扩展名选择

来自分类Dev

根据文件名过滤文件

来自分类Dev

Applescript选择文件,文件名

来自分类Dev

通过文件名掩码获取文件

来自分类Dev

bash在while循环中通过正则表达式或类似文件过滤文件名

来自分类Dev

过滤并列出特定的文件名

来自分类Dev

具有特定文件扩展名的Android文件选择器

来自分类Dev

使用FileDialog选择文件名

来自分类Dev

在Bash中选择Unicode文件名

来自分类Dev

有选择地修改文件名

来自分类Dev

使用FileDialog选择文件名

来自分类Dev

选择编号最大的文件名

来自分类Dev

通过文件名中的特殊字符过滤要显示的图像

来自分类Dev

通过组合数组列表元素过滤目录中的文件名

来自分类Dev

如何通过文件名查找ProjectItem

来自分类Dev

通过网络响应维护文件名

来自分类Dev

如何通过URL传递文件名?

来自分类Dev

通过Tkinter检索多个文件名

来自分类Dev

通过文件名更改UIImageView的颜色

来自分类Dev

如何通过URL传递文件名?

来自分类Dev

通过CMD获取文件名

来自分类Dev

通过宏定义文件名

来自分类Dev

通过bash的ftp列表文件名

来自分类Dev

如何将过滤器批量添加到文件选择器?

来自分类Dev

根据文件名过滤器合并 CSV 文件