当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

IOUtils类的使用

三叉戟 发表于 2年前  | 评论(0 )| 阅读次数(1574 )|   2 人收藏此文章,   我要收藏
摘要 apache-commons下的io子项目给我们提供了非常方便的io流的操作。本文属于原创,抛砖引玉,希望能给大家带来启发。

 IOUtilsapache基金会下面的一个子项目,提供了对于IO流操作的进一步封装,让我们可以更加方便的对IO流进行操作。

       IOUtils的下载地址是:

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

         IOUtilsapi帮助文档地址:

         http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/IOUtils.html

 

         我们本次示例,下载了最新的2.4版本,作为测试和示范。解压下载后的版本,并将jar包导入我们的项目中,如下图。

        

 

打开IOUtilsapi文档,我们发现他的方法大部分都是重载的。所以,我们理解他的方法并不是难事。因此,对于他方法的用法总结如下:

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

         closeQueitly方法:关闭流

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

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

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

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

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

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

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

         toBufferedInputStreamtoBufferedReader:将输入转为带缓存的输入流

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

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

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

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

 

我们没有必要对每个方法做测试,只是演示一下读入d:/a.txt文件内容到程序中,并转成String对象,打印出来。


package com.bjsxt.test.ioutils;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import org.apache.commons.io.IOUtils;

public class Test01 {
	public static void main(String[] args) throws Exception {
		String content = IOUtils.toString(new FileInputStream("d:/a.txt"));
		System.out.println(content);
	}
}

打印结果如下:

本人抛砖引玉,暂作总结,其他方法大家可以自己做出尝试。

分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183