IO - FileUtils

时间:2022-04-30 17:48:55

  Apache Commons IO好用的功能主要集中在工具类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等系列变量,导致这些函数在网络字节流的转换上作用不大。