现在的位置: 首页 > 综合 > 正文

org.apache.commons.io—实用的文件操作工具

2013年08月10日 ⁄ 综合 ⁄ 共 1043字 ⁄ 字号 评论关闭

    org.apache.commons.io是Apache jakarta下common项目的一个功能模块,提供了一下高层的文件操作方法,非常好用。一下是本人学习过程的一个记录,枚举了几个我认为好使的功能点。

    其实好用的功能主要集中在一类FileUtil中,包含了建立,删除,复制,移动,比较文件新旧,递归枚举目录清空目录,一次读取整个文件等。以下是一个我认为有用的列表:
    1.    byteCountToDisplaySize(long size)
    把字节表示的文件大小转换为一个字符串。比如一个64×1024×1024字节的文件,转换的结果就是64 MB。

    2.    copyFile(File source, File dest)
    复制文件。当然可以自己用一个while循环来作,不过先打开两个文件,再建立一个while循环,然后再关闭两个文件,实在有点麻烦,有了现成的经过测试的代码,省事多了。

    3.    deleteDirectory(File dir)
    删除一个目录,如果有子目录,则执行递归删除操作。

    4.    forceDeleteOnExit(File file)
    当强制JVM退出时,删除file变量对应的文件或者目录。在处理临时目录上非常好用。

    5.    isFileNewer(File file, File reference)
    比较第一个文件是否比第二个文件新。

    6.    listFiles(File dir, IOFileFilter fileFilter, IOFileFilter dirFilter)
           listFiles(File dir, String[] extensions, boolean recursive)
    最有用的函数,可以递归枚举目录下的所有文件和目录。

    7.    readFileToString(File file, String encoding)
    非常实用的功能,一次性读入文本文件到一个字符串中,且可以指定编码。

    (可惜缺少了一个Python中更为好使的readLines)。

     还有一个叫做EndianUtil的工具类,可以用来转换字节流的循序,跟IPAddress的几个转换函数很想。不过由于java没有unsigned short,unsigned int等系列变量,导致这些函数在网络字节流的转换上作用不大。
        

抱歉!评论已关闭.