使用IOUtils和FileUtils

文本输出应该比较常用,以前都是通过反复的创建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就可以了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个sql生成hive日期维度表

目录 1、日期维度表 2、生成语句 3、用例 在进行日期处理时&#xff0c;有时候会很麻烦&#xff0c;于是小编开发了一张日期维表&#xff0c;供大家参考。 1、日期维度表 num字段名字段中文名描述数据类型1date日期日期 yyyMMdd格式bigint2week星期&#xff0c;数字型星期…

重磅推荐:机器人行业深度报告

来源&#xff1a;WPR随着中国人口红利消失&#xff0c;机器人不仅在制造业上正在替代工人&#xff0c;还将在军事、服务、娱乐等领域取代人类&#xff0c;“钢铁侠”已不仅仅存在于美国科幻电影中&#xff0c;而正走入我们的生活。本篇报告对机器人行业及龙头上市公司进行分析&…

Could not create directory F:\Qt\Test\Error in Util.asciify(build-First_02-Desktop_Qt_5_6_3_Min

第一次使用的Qt的时候出现了这种错误&#xff01; 相信很多人在第一次使用的时候都会遇到这样的情况&#xff0c;果不其然&#xff0c;搜了一下很多的处理方法&#xff0c;其中有一种我感觉是最有效的&#xff0c;就是改一下他的生成路径就好了&#xff0c;因为这个错误的出现…

POJ 2392 Space Elevator

题目地址&#xff1a;http://poj.org/problem?id2392 题目大意&#xff1a;有一头奶牛要上太空&#xff0c;他有很多种石头&#xff0c;每种石头的高度是hi&#xff0c;但是不能放到ai之上的高度&#xff0c;并且这种石头有ci个 将这些石头叠加起来&#xff0c;问能够达到的最…

一篇文章搞懂数据仓库:总线架构、一致性维度、一致性事实

目录 1、概述 总线架构 一致性维度 一致性事实 2、总线架构demo 1、概述 在Kimball的维度建模的数据仓库中&#xff0c;关于多维体系结构&#xff08;MD&#xff09;有三个关键性概念&#xff1a;总线架构&#xff08;Bus Architecture&#xff09;&#xff0c;一致性维…

路易斯·罗森伯格与「群体智能」

选自 | Gigaom编译 | 网易智能&#xff08;smartman163&#xff09;参与 | 李擎与谷歌、Facebook等开发“传统意义上的人工智能”的技术不同&#xff0c;在Unanimous A.I.&#xff0c;科学家们利用人工智能来放大群体的智慧&#xff0c;而不是使用人工智能来代替人类。他们没有…

数据结构和数据类型之间的关系

数据结构 数据元素 数据关系&#xff1b; 数据类型 数据结构 数据操作&#xff1b; 所以数据类型的范畴是大于数据结构的。 数据类型的范畴和类有点相似。其实类也是一种数据类型。 int,char基本类型 同样可以抽象成数据结构和数据元素的模型&#xff0c;只是这里的数据元素…

hive 参数设置大全

合理设置参数&#xff0c;让集群飞起来~ 参数缺省值描述可单独使用set hive.execution.enginetez; 设置hive的计算引擎可单独使用set mapreduce.map.memory.mb4096; 设置每个map的内存可单独使用set mapreduce.reduce.memory.mb4096; 设置每个reduce的内存可单独使用set map…

Qt实用快捷键(较全面)

总结整理的常用快捷键&#xff0c;欢迎留言补充&#xff01;

Python下载中国数据库大会(DTCC2020)PPT全集

目录 背景 效果展示 程序下载 网盘下载 背景 前几天中国数据库大会风风火火的在京举行了&#xff0c;期间干货满满&#xff0c;收获良多。在学大佬们的ppt时&#xff0c;发现只能一篇一篇预览&#xff0c;对于求知欲强烈的小编来说简直太难受了&#xff0c;于是便写了个程…

Android UI布局—— 仿QQ登录界面

最近&#xff0c;有点空闲的时间就拿QQ登录界面来模仿练手&#xff0c;做了个简单的登录界面。界面一般般吧&#xff0c;不算很漂亮&#xff0c;现在拿出来分享&#xff0c;希望大家一起学习与进步。有什么不足之处&#xff0c;请各位大侠多多赐教&#xff0c;谢谢。这个界面涉…

新造车公司背后的「资本大佬」

来源&#xff1a;电动汽车观察家&#xff08;ID&#xff1a;evobserver&#xff09;为了代表行业全貌&#xff0c;我们既分析光鲜靓丽的头部企业&#xff0c;也涉及比较不知名、甚至陷入舆论漩涡的一些企业&#xff0c;共十家代表企业资金的来源分析。1、蔚来汽车过往融资成绩&…

MySQL流浪记(一)—— 初步认识数据库的内涵

认识数据库 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内、有组织、可共享、统一管理的大量数据的集合。可以将数据库视为一个电子化的文件柜&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。 数据库是一个按数据结…

一篇文章搞懂数据仓库:元数据分类、元数据管理

目录 1、业务元数据 2、技术元数据 3、管理元数据 4、小编有话 1、业务元数据 描述 ”数据”背后的业务含义 主题定义&#xff1a;每段 ETL、表背后的归属业务主题。 业务描述&#xff1a;每段代码实现的具体业务逻辑。 标准指标&#xff1a;类似于 BI 中的语义层、数仓…

MEMS传感器科普文

来源&#xff1a;MEMS技术MEMS 的全称是微型电子机械系统&#xff0c;利用传统的半导体工艺和材料&#xff0c;集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

silverlight 缺少对象错误

如果你的silverlight程序用vs调试时候运行良好,没有错误.你满怀欣喜的发布到iis上,一浏览,跳出个对话框,告诉你缺少对象.那么请不要慌张,你应该检查一下,你发布silverlight程序到iis的时候,有没有设置MIME类型,如果忘了设置,赶紧设置上吧,方法如下: 打开iis管理器,在网站上右键…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS&#xff1f; NFS挂载原理&#xff1a; RPC与NFS通讯原理&#xff1a; NFS客户端和NFS服务器通讯过程&#xff1a; Linux下NFS服务器部署 NFS服务所需软件及主要配置文件&#xff1a; 服务端安装NFS服务步骤&#xff1a; NFS客户端挂载配置…

MySQL流浪记(二)—— MySQL介绍及其特性

MySQL介绍 MySQL是一个关系型数据库&#xff0c;是一个开放源码的关系型数据库管理系统&#xff0c;原开发者位瑞典的MySQL AB公司&#xff0c;该公司于2008年被昇阳为系统&#xff08;Sun&#xff09;收购&#xff0c;2009年&#xff0c;甲骨文公司&#xff08;Oracle&#xf…

学习AutoIt

学习AutoIt转载于:https://www.cnblogs.com/bull_think/archive/2012/08/21/2649839.html

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的&#xff0c;要根据程序员的历、能力、工作经验、是否刚毕业、工种&#xff0c;工资是不一样的&#xff0c;还与地域和公司有关&#xff0c;但是总的来说&#xff0c;程序员工资都是很高的&#xff0c;是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…