【问题标题】:java JFileChooser File Size Filterjava JFileChooser 文件大小过滤器
【发布时间】:2015-02-23 05:35:06
【问题描述】:

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

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

【问题讨论】:

  • 看看addChoosableFileFilter - 你可以创建一个过滤器,它接受File作为参数,并返回一个boolean

标签: java swing file jfilechooser filefilter


【解决方案1】:

简短的回答应该是,您尝试过什么?长答案是肯定的......

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 的任何属性或属性组合

【讨论】:

    【解决方案2】:

    创建 FileFilter 的子类。在accept方法中判断文件是否过大。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多