http://jakarta.apache.org/commons/io/
Utility:
IOUtil实现对InputStream,OutputStream,Reader,Writer读,写,复制.
FileUtils实现目录,文件创建,删除,清空,复制等操作
Jakarta——FileSystemUtils: JDK不支持的方法,如硬盘的剩余空间
Spring——FileSystemUtils:
完成目录的复制: copyRecursively
递归删除目录: deleteRecursively
Endian:对不同CPU高低位的处理
Filter:
IOFileFilter 对jdk中FileFilter和FileNameFilter的组合
各种已实现的FileFilter,如CanRead CanWrite等
Comparator:用于文件列表排序的一些已经实现的FileComparator
Stream: 有用的Stream的实现,在io.input和io.output包中,如Tee output Stream:输出data到两个Stream;Counting stream: 对bytes进行计数
Lockable writer:对一个文件同步读写
最佳实践;
1.使用File或FileUtil来处理文件名,而不是使用String
File tmpdir = new File("/var/tmp");
File tmpfile = new File(tmpdir, "test.tmp");
InputStream in = new java.io.FileInputStream(tmpfile);
2.使用BufferedInput(Output)Stream或BufferedReader(Writer)对文件读写包装
使用示例:
使用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:/");