Package org.apache.commons.vfs2.filter
Class SizeFileFilter
- java.lang.Object
-
- org.apache.commons.vfs2.filter.SizeFileFilter
-
- All Implemented Interfaces:
java.io.Serializable
,FileFilter
public class SizeFileFilter extends java.lang.Object implements FileFilter, java.io.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:
FileSystemManager fsManager = VFS.getManager(); FileObject dir = fsManager.toFileObject(new File(".")); SizeFileFilter filter = new SizeFileFilter(1024 * 1024); FileObject[] files = dir.findFiles(new FileFilterSelector(filter)); for (int i = 0; i < files.length; i++) { System.out.println(files[i]); }
- Since:
- 2.4
- See Also:
- "http://commons.apache.org/proper/commons-io/", Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
acceptLarger
Whether the files accepted will be larger or smaller.private static long
serialVersionUID
private long
size
The size threshold.
-
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
accept(FileSelectInfo fileSelectInfo)
Checks to see if the size of the file is favorable.java.lang.String
toString()
Provide a String representation of this file filter.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
acceptLarger
private final boolean acceptLarger
Whether the files accepted will be larger or smaller.
-
size
private final long size
The size threshold.
-
-
Constructor Detail
-
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 - Must be non-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 - Must be non-negative.acceptLarger
- if true, files equal to or larger are accepted, otherwise smaller ones (but not equal to)
-
-
Method Detail
-
accept
public boolean accept(FileSelectInfo fileSelectInfo) throws FileSystemException
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.
Non-existing files return always false (will never be accepted).
- Specified by:
accept
in interfaceFileFilter
- Parameters:
fileSelectInfo
- the File to check- Returns:
- true if the file name matches
- Throws:
FileSystemException
- Thrown for file system errors.
-
toString
public java.lang.String toString()
Provide a String representation of this file filter.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a String representation
-
-