Jakarta Commons——IO

    技术2026-09-25  7

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

    最新回复(0)