There are six main areas included:
Utility classes - with static methods to perform common tasks
Input - useful Input Stream and Reader implementations
Output - useful Output Stream and Writer implementations
Filters - various implementations of file filters
Comparators - various implementations of java.util.Comparator for files
File Monitor - a component for monitoring file system events
简单使用事例:
1.读取Stream
//标准代码:
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
InputStreamReader inR = new InputStreamReader( in );
BufferedReader buf = new BufferedReader( inR );
String line;
while ( ( line = buf.readLine() ) != null ) {
System.out.println( line );
}
} finally {
in.close();
}
//使用IOUtils
InputStream in = new URL( "http://jakarta.apache.org" ).openStream();
try {
System.out.println( IOUtils.toString( in ) );
} finally {
IOUtils.closeQuietly(in);
}
2.读取文件
File file = new File("/commons/io/project.properties");
List lines = FileUtils.readLines(file, "UTF-8");
3.察看剩余空间
long freeSpace = FileSystemUtils.freeSpace("C:/");
4.过滤文件
//显示当前目录下的所有隐藏文件:
File dir = new File(".");
String[] files = dir.list( HiddenFileFilter.VISIBLE );
for ( int i = 0; i < files.length; i++ )
{
System.out.println(files[i]);
}
附录:
过滤器 功能
TrueFileFilter 不进行过滤
FalseFileFilter 过滤所有文件及目录
FileFileFilter 仅接受文件
DirectoryFilter 仅接受目录
PrefixFileFilter 基于前缀(不带路径的文件名)
SuffixFileFilter 基于后缀(不带路径的文件名)
NameFileFilter 基于文件名称(不带路径的文件名)
WildcardFileFilter 基于通配符(不带路径的文件名)
RegexFileFilter 基于正则表达式
AgeFileFilter 基于最后修改时间
SizeFileFilter 基于文件尺寸
MagicNumberFileFileter 基于Magic Number
EmptyFileFilter 基于文件或目录是否为空
HiddenFileFilter 基于文件或目录是否隐藏
CanReadFileFilter 基于是否可读
CanWriteFileFilter 基于是否可写入
DelegateFileFilter 将普通的FileFilter和FilenameFilter包装成IOFileFilter
复合过滤器 功能
AndFileFilter 基于AND逻辑运算
OrFileFilter 基于OR逻辑运算
NotFileFilter 基于NOT逻辑运算
工具类:FileFilterUtils
提供一些工厂方法用于生成各类文件过滤器
提供一些静态方法用于对指定的File集合进行过滤