java JFileChooser文件大小过滤器

时间:2015-02-23 05:35:07

标签: java swing file jfilechooser filefilter

我知道我可以按文件类型进行过滤,但是可以按文件大小进行过滤吗?

例如,JFileChooser仅显示3兆字节以内的图片。

2 个答案:

答案 0 :(得分:2)

简短的回答应该是,你尝试了什么?答案很长,是的......

JFileChooser fc = new JFileChooser();
fc.addChoosableFileFilter(new FileFilter() {

    @Override
    public boolean accept(File f) {
        String name = f.getName().toLowerCase();
        return (name.endsWith(".png") &&
                        name.endsWith(".jpg") &&
                        name.endsWith(".gif") &&
                        name.endsWith(".bmp") &&
                        f.length() < 3 * (1024 * 1024));
    }

    @Override
    public String getDescription() {
        return "Images < 3mb";
    }
});

从技术上讲,您可以对File

中的任何属性或属性组合进行过滤

答案 1 :(得分:1)

创建FileFilter的子类。在accept方法中,确定文件是否太大。

public boolean accept(File f) {
    if(f.length() > maxSize) return false;
    return true;
}

然后将过滤器应用于文件选择器