JAVA IO框架:Apache commons IO

Apache Commons IO

Apache Commons IO 库包含了工具类,流的实现, 文件过滤器,文件比较器,endian转换类,还有其他更多的内容。

项目主页:

http://commons.apache.org/proper/commons-io/

Apache Maven:


  commons-io
  commons-io
  2.6

工具类

IOUtils

包含了用来处理读、写、复制
的工具方法。这些方法基于 InputStream,OutputStream , Reader , Writer运行。

常用方法:

buffer方法:将传入的流进行包装,变成缓冲流。并可以通过参数指定缓冲大小。

closeQueitly方法:关闭流

contentEquals方法:比较两个流中的内容是否一致

copy方法:将输入流中的内容拷贝到输出流中,并可以指定字符编码。

copyLarge方法:将输入流中的内容拷贝到输出流中,适合大于2G内容的拷贝。

lineIterator方法:返回可以迭代每一行内容的迭代器

read方法:将输入流中的部分内容读入到字节数组中

readFully方法:将输入流中的所有内容读入到字节数组中

readLine方法:读入输入流内容中的一行

toBufferedInputStream,toBufferedReader:将输入转为带缓存的输入流

toByteArray,toCharArray:将输入流的内容转为字节数组、字符数组。

toString:将输入流或数组中的内容转化为字符串

write方法:向流里面写入内容

writeLine方法:向流里面写入一行内容

 

FileUtils 

包含了与File对象一起工作的工具方法。这些方法包括读、写、复制、比较文件。

常用方法: 

cleanDirectory:清空目录,但不删除目录

contentEquals比较两个文件的内容是否相同

copyDirectory:将一个目录内容拷贝到另一个目录。可以通过FileFilter过滤需要拷贝的文件。

copyFile:将一个文件拷贝到一个新的地址

copyFileToDirectory:将一个文件拷贝到某个目录下

copyInputStreamToFile将一个输入流中的内容拷贝到某个文件

deleteDirectory:删除目录

deleteQuietly:删除文件

listFiles:列出指定目录下的所有文件

openInputSteam:打开指定文件的输入流

readFileToString:将文件内容作为字符串返回

readLines:将文件内容按行返回到一个字符串数组中

size:返回文件或目录的大小

write:将字符串内容直接写到文件中

writeByteArrayToFile: 将字节数组内容写到文件中

writeLines:将容器中的元素的toString方法返回的内容依次写入文件中

writeStringToFile:将字符串内容写到文件中

例:目录拷贝,并且使用FileFilter过滤目录和文件名字txt结尾的文件

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.FileFileFilter;
import java.io.File;
import java.io.IOException;

public class IOUtils {
    public static void main(String[] args) {

        try {
            FileUtils.copyDirectory(new File("E:\\test"),new File("E:\\test1"),new FileFileFilter() {

                @Override
                public boolean accept(File pathname) {
                    if (pathname.isDirectory() || pathname.getName().endsWith("txt")) {
                        return true;
                    } else {
                        return false;
                    }

                }
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

你可能感兴趣的:(Java,Java,IOUtils,FileUtils)