使用IOUtils和FileUtils

转载 2015年07月06日 20:24:28

文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。

Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实方便了很多。

比如读取一个文件:

 

Java代码  收藏代码
  1. // by FileUtils  
  2. List<String> lines = FileUtils.readLines(file, "UTF-8");  
  3.   
  4. // by IOUtils  
  5. List<String> lines = IOUtils.readLines(new FileInputStream(file), "UTF-8");  

 

 

写入文件:

 

Java代码  收藏代码
  1. // by FileUtils  
  2. FileUtils.writeLines(file, "UTF-8", lines);  
  3.   
  4. // by IOUtils  
  5. IOUtils.writeLines(lines, nullnew FileOutputStream(file));  
 

 

FileUtils/IOUtils还有其他很多方法用于读取写入文件,或者读取输出到InputStream/OutputStream等,这里就不再一一列举,可以参考查阅对应的Java Doc

FileUtils: http://commons.apache.org/io/api-2.0/org/apache/commons/io/FileUtils.html

IOUtils: http://commons.apache.org/io/api-2.0/org/apache/commons/io/IOUtils.html

 

特殊需求:FileUtils/IOUtils中写入文本的方法看上去都是只能一次性的批量写入多行,并覆盖原有的文本,如果我们需要单行写入怎么办呢,其实在IOUtils中是提供了这样的方法的,只不过比较隐晦而已:

Java代码  收藏代码
  1. try {  
  2.     OutputStream os = new FileOutputStream(file, true);  
  3.     IOUtils.writeLines(lines, null, os, "UTF-8");  
  4. catch (IOException e) {  
  5.     e.printStackTrace();  
  6. }  

其实就是在初始化FileOutputStream的时候 ,第二个参数append设为true就可以了。


转自 : http://terrencexu.iteye.com/blog/858579

 

相关文章推荐

使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件

File src = new File("G:/2012/portal/login.jsp"); File tar = new File("G:/2012/portal/loginZs.jsp"); ...

java组件开发(12) IOUtils、FileUtils

  • 2013年05月04日 18:37
  • 134KB
  • 下载

java 实现下载htttp文件的简便办法 FileUtils IOUtils

开发人员需要具备自己可以造轮子的能力,同时也要具体会借轮子的能力,两者同样重要。...

apache FileUtils 和 IOUtils 工具类 改写普通文件读写方式 提高效率

不重复开发的轮子,既然人家已经写好了通用成熟的工具,与其自己吭哧吭哧写通用类,还不如拿来用即可。但是用归用,不了解还是不行滴,咻咻, apache下 开源了许多实用的工具类,一般都是在commons...

apache FileUtils 和 IOUtils 工具类 改写普通文件读写方式 提高效率

不重复开发的轮子,既然人家已经写好了通用成熟的工具,与其自己吭哧吭哧写通用类,还不如拿来用即可。但是用归用,不了解还是不行滴,咻咻, apache下 开源了许多实用的工具类,一般都是在commo...
  • c_0826
  • c_0826
  • 2014年06月30日 22:02
  • 452

apache FileUtils 和 IOUtils 工具类 改写普通文件读写方式 提高效率

不重复开发的轮子,既然人家已经写好了通用成熟的工具,与其自己吭哧吭哧写通用类,还不如拿来用即可。但是用归用,不了解还是不行滴,咻咻, apache下 开源了许多实用的工具类,一般都是在commo...
  • zfc0826
  • zfc0826
  • 2014年06月24日 09:50
  • 471

利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件

1.String IOUtils.toString(InputStream input),传入输入流对象,返回字符串,有多重重载,可按需要传参 用例: @Test public void showI...
  • koushr
  • koushr
  • 2016年01月24日 23:46
  • 2913

学习使用apache comments io包中的IOUtils中的方法

package com.tiewoba.apache.comments;    import java.io.ByteArrayOutputStream;  import java.io.IOExce...

学习使用apache comments io包中的IOUtils中的方法

package com.tiewoba.apache.comments; import java.io.ByteArrayOutputStream; import java.io.IOExcepti...

使用FileUtils简化你的文件操作

前言:     在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化...
  • lqclh502
  • lqclh502
  • 2014年08月01日 16:15
  • 26988
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用IOUtils和FileUtils
举报原因:
原因补充:

(最多只允许输入30个字)