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

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

比如读取一个文件:

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

写入文件:

Java代码  
  1. // by FileUtils
  2. FileUtils.writeLines(file, "UTF-8", lines);
  3. // by IOUtils
  4. IOUtils.writeLines(lines, null, new 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就可以了。

转载于:https://www.cnblogs.com/chenying99/archive/2012/08/17/2644875.html

使用IOUtils和FileUtils相关推荐

  1. springboot 常用工具(IOUtils、FileUtils)

    springboot 常用工具(IOUtils.FileUtils) **************************** 相关类 IOUtils:输入输出流操作 public class IOU ...

  2. java bufferedwriter 写入tab_一个Java程序员的成长历程(014,015)天

    第29次(IO流) 学习主题:IO流 学习目标: 1 掌握序列化和反序列化 2 掌握装饰器模式 对应视频: http://www.itbaizhan.cn/course/id/85.html 对应文档 ...

  3. java实现在pdf文档上填充内容

    需求: 在合同附件模板上填充内容,生成一个新的合同附件,并可以查看合同附件 思路: 首先在模板文档上设置文本域,根据文本域填充内容,使用itextpdf在pdf上填充内容 1.在pom.xml中加入以 ...

  4. 使用HttpClient实现跨服务图片下载

    需求: 由于web系统存放图片的文件夹路径和erp系统存放图片的文件夹路径不一样 所以 web系统文件上传的文件要拷贝到erp对应的文件夹 思路: 在erp中访问图片接口的时候,如果图片不存在,则调w ...

  5. java实现将pdf变成一张图片在页面显示

    1.需求: 由于pdf传输到前台显示不了,因此要在后台将pdf转成图片,然后输出到页面上 使用的是pdfbox 2.在pom.xml中添加如下依赖: <dependency>        ...

  6. 如何从文件内容创建Java字符串?

    我已经在下面使用过一段时间了. 至少在我访问过的网站上,它似乎是分布最广的. 在Java中,是否有更好/不同的方式将文件读取为字符串? private String readFile(String f ...

  7. oop 类和对象的_实用程序类的OOP替代

    oop 类和对象的 实用程序类(也称为帮助程序类)是仅具有静态方法且不封装状态的"结构". StringUtils , IOUtils , FileUtils从Apache的共享 ...

  8. 实用程序类的OOP替代

    实用程序类(也称为帮助程序类)是仅具有静态方法且不封装任何状态的"结构". StringUtils , IOUtils , FileUtils从Apache的共享 ; Guava的 ...

  9. Java+SSM+JSP实现医院预约挂号系统

    文末获取源码 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclip ...

最新文章

  1. HDOJ_ACM_超级楼梯
  2. 【转载】IT新曙光——“遇事不决,量子力学” 的问与答
  3. 内推 | 阿里巴巴2020秋季校园招聘正式启动!社招也有!!
  4. c++ sleep函数_C ++ strcpy()和strncpy()函数
  5. lDEA报错Error: A JNI error has occurred, please check your installation and try again
  6. 海蜘蛛V8想转WAYOS的用户有福了,用户数据转换工具出来了
  7. css中伪元素也可以和css类相结合
  8. Java调用第三方接口(http总结)
  9. 信号量机制(P,V操作)
  10. 软件人员kpi制定模板_最常用5大绩效工具(附模板):OKR、KPI、MBO、平衡计分卡、360度...
  11. spring5学习笔记
  12. 用IE浏览器打开网址https显示不能访问怎么办
  13. 阿拉伯数字翻译成中文的大写数字
  14. Latex【Error】Reference:Something‘s wrong--perhaps a missing \item. \end{thebibliography} 参考文献报错
  15. 微信开放平台--》网站应用开发 微信登录网站接口(https://open.weixin.qq.com/)
  16. 刘翔因伤退出比赛,暴露了不少国人的本性
  17. Zstandard(Zstd)新型压缩算法代替Zlib 简单使用教程
  18. ac7315功放音质_常见地功放地噪声及其处理技巧
  19. 数学呼号可以学计算机吗,[数学]离散数学.ppt
  20. 英寸和厘米的换算python_Python的新手-尝试将厘米编码为英寸,反之亦...

热门文章

  1. LeetCode 1748. 唯一元素的和
  2. LeetCode 1690. 石子游戏 VII(博弈DP)
  3. 02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法(作业:优化方法)
  4. LeetCode 1119. 删去字符串中的元音
  5. LeetCode 923. 三数之和的多种可能(双指针)
  6. LeetCode 1379. 找出克隆二叉树中的相同节点(二叉树遍历)
  7. LeetCode 914. 卡牌分组(最大公约数)
  8. 字符串匹配算法(KMP)
  9. 图Graph--最小生成树
  10. ubuntu自定义安装里怎么选_中央空调到底应该怎么选?小户型也能安装中央空调?行家说实话了...