Jakarta Commons——IO

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:/");

你可能感兴趣的:(spring,jdk,Stream,File,文件同步,output)