Class SizeFileFilter

java.lang.Object
org.apache.commons.io.filefilter.AbstractFileFilter
org.apache.commons.io.filefilter.SizeFileFilter
All Implemented Interfaces:
FileFilter, FilenameFilter, Serializable, 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:

 File dir = new File(".");
 String[] files = dir.list( new SizeFileFilter(1024 * 1024) );
 for ( int i = 0; i < files.length; i++ ) {
     System.out.println(files[i]);
 }
 
Since:
1.2
See Also:
  • Field Summary

    Fields inherited from interface org.apache.commons.io.filefilter.IOFileFilter

    EMPTY_STRING_ARRAY
  • Constructor Summary

    Constructors
    Constructor
    Description
    SizeFileFilter(long size)
    Constructs a new size file filter for files equal to or larger than a certain size.
    SizeFileFilter(long size, boolean acceptLarger)
    Constructs a new size file filter for files based on a certain size threshold.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    accept(File file)
    Checks to see if the size of the file is favorable.
    Provide a String representation of this file filter.

    Methods inherited from class org.apache.commons.io.filefilter.AbstractFileFilter

    accept

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 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

    • accept

      public boolean accept(File file)
      Checks to see if the size of the file is favorable.

      If size equals threshold and smaller files are required, file IS NOT selected. If size equals threshold and larger files are required, file IS selected.

      Specified by:
      accept in interface FileFilter
      Specified by:
      accept in interface IOFileFilter
      Overrides:
      accept in class AbstractFileFilter
      Parameters:
      file - the File to check
      Returns:
      true if the file name matches
    • toString

      public String toString()
      Provide a String representation of this file filter.
      Overrides:
      toString in class AbstractFileFilter
      Returns:
      a String representation