Class SizeFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.SizeFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, FileVisitor<Path>, PathMatcher, PathFilter, PathVisitor, IOFileFilter

public class SizeFileFilter extends AbstractFileFilter implements Serializable
Filters files based on size, can filter either smaller files or files equal to or larger than a given threshold.

For example, to print all files and directories in the current directory whose size is greater than 1 MB:

Using Classic IO

 File dir = FileUtils.current();
 String[] files = dir.list(new SizeFileFilter(1024 * 1024));
 for (String file : files) {
     System.out.println(file);
 }
 

Using NIO

 final Path dir = PathUtils.current();
 final AccumulatorPathVisitor visitor = AccumulatorPathVisitor.withLongCounters(new SizeFileFilter(1024 * 1024));
 //
 // Walk one dir
 Files.walkFileTree(dir, Collections.emptySet(), 1, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getFileList());
 //
 visitor.getPathCounters().reset();
 //
 // Walk dir tree
 Files.walkFileTree(dir, visitor);
 System.out.println(visitor.getPathCounters());
 System.out.println(visitor.getDirList());
 System.out.println(visitor.getFileList());
 

Deprecating Serialization

Serialization is deprecated and will be removed in 3.0.

Since:
1.2
See Also:
  • Constructor Details

    • SizeFileFilter

      public SizeFileFilter(long size)
      Constructs a new size file filter for files equal to or larger than a certain size.
      Parameters:
      size - the threshold size of the files
      Throws:
      IllegalArgumentException - if the size is negative
    • SizeFileFilter

      public SizeFileFilter(long size, boolean acceptLarger)
      Constructs a new size file filter for files based on a certain size threshold.
      Parameters:
      size - the threshold size of the files
      acceptLarger - if true, files equal to or larger are accepted, otherwise smaller ones (but not equal to)
      Throws:
      IllegalArgumentException - if the size is negative
  • Method Details