apache commons学习系列记录之IO组件version2.4之一

本文详细介绍了Apache Commons IO库的2.4版本,重点关注IOUtils、DirectoryWalker、FileUtils和FilenameUtils等核心组件。IOUtils提供了流的关闭、读写、复制和比较等功能;DirectoryWalker用于遍历目录,支持过滤和取消操作;FileUtils包含丰富的文件和目录操作,如读取、写入、移动、删除等;FilenameUtils则提供跨平台的路径处理工具。此外,还讨论了如何使用这些工具进行高效且安全的文件操作。
摘要由CSDN通过智能技术生成

基于commons-IO-2.4版本

一、org.apache.commons.io

IOUtils

    简化InputStream,OutputStream,Writer,Reader等的IO操作

   内部自动缓存buffer,友好的关闭流closeQuetly,以LineIterator行迭代器的形式读取文件,流,File与流,String的转换。直接从流到String的转换

   跳过读取等。

DirectoryWalker:  

     DirectoryWolker<T>抽象类,用于层次遍历目录及子目录。同时给它的子类提供hooks钩子方法以便处理相关事件行为。这些钩子方法以handle开头,由DirecotryWalker抽象类的机制去调用,实现者无需关心。

一般与IO组件的FileFilter结合使用,可以指定遍历深度。这些FIleFilter实现位于IO组件的filefilter包中。

由于遍历过程比较耗时,所以这个遍历过程还提供取消功能。

FileUtils:

    包含处理文件与目录的操作,如移动,复制,读取,写入,比较,复制,大小,遍历,删除,生成文件校验码等。

FilenameUtils:便于路径的一致性

SystemUtils:获取卷的剩余容量

LineIterator:行迭代器。一般用于迭代从文件或流中读取的数据。





1.IOUtils:

 closeQuietly - these methods close a stream ignoring nulls and exceptions

  toXxx/read - these methods read data from a stream

  write - these methods write data to a stream

  copy - these methods copy all the data from one stream to another

  contentEquals - these methods compare the content of two streams

有用的Field: DIR_SEPARATOR,LINE_SEPARATOR

static void closeQuietly(Closeable closeable)用于安静地关闭流stream,reader,writer或socket。

copy方法 可以将数据直接从一个流copy到另外一个流,同时还可以指定字符编码。但是需要注意的是这些数据都会直接通过内存,

所以在copy大文件的时候需要特别注意这一点。

copy(Reader input, OutputStream output, Charset/String encoding)

         Copy chars from aReaderto bytes on anOutputStreamusing the specified character encoding, and

calling flush.

copy大文件可以是用copyLarge方法,它可以指定缓存char[],byte[]的大小,指定拷贝的范围,长度等。

copyLarge(InputStream input, OutputStream output,

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值