使用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,一经查实,立即删除!

相关文章

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

来源&#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;因为这个错误的出现…

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

目录 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;而不是使用人工智能来代替人类。他们没有…

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、蔚来汽车过往融资成绩&…

MEMS传感器科普文

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

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

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

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

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

Science:领导决策的计算和神经生物学基础

来源&#xff1a;思影科技摘要&#xff1a;最近&#xff0c;来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文&#xff0c;他们将基于知觉和价值决策的模型结合起来&#xff0c;以评估被试对每一个决策行为的个人效用&#xff0c;从而梳理出选择领导或服从的潜在动机。最近…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档&#xff0c;并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...

来源&#xff1a;机器人创新生态摘要&#xff1a;我们已经听说过柔性电子“皮肤”可以让机器人或假肢具有类似人类的触觉。然而&#xff0c;现在德克萨斯大学阿灵顿分校的科学家们声称他们开发的“皮肤”比具有比人类更好的触觉敏感。由Zeynep ?elik-Butler教授领导的团队创建…

MySQL流浪记(三)—— Linux安装MySQL数据库5.7.30(亲测有效3分钟即可)

下载 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gztar命令集合&#xff08;详解&#xff09; 将安装包进行移动并重命名&#xff08;需要在root权限下进行&#xff09;。 m…

ANSI/UTF-8/UCS2(UTF-16),以及回车换行

最近遇到一个linux 平台上invisible character (0x1d)引起的数据装载失败问题&#xff0c;正好借此机会整理一下字符编码的相关知识。 回车/换行&#xff1a; 顾名思义&#xff0c;回车和换行是两个不同的控制字符: -回车(Carriage Return)即\r&#xff0c;ascii码13(0x0d)&am…

自动驾驶的大脑——芯片简介

来源&#xff1a;智车科技汽车电子发展初期以分布式ECU架构为主流&#xff0c;芯片与传感器一一对应&#xff0c;后来&#xff0c;中心化架构DCU、MDC逐步成为了发展趋势&#xff1b;随着汽车辅助驾驶功能渗透率越来越高&#xff0c;传统CPU算力不足过去&#xff0c;在自动驾驶…

MySQL流浪记(四)—— DDL和DML区别与介绍

DDL与DML的区别 DDL&#xff1a;数据定义语言&#xff0c;对于数据库、表、图、索引等进行操作。 具体操作有&#xff1a;CREATE&#xff08;创建&#xff09;、ALTER&#xff08;修改&#xff09;、DROP/TRUNCATE&#xff08;删除&#xff09; DML&#xff1a;数据操纵语言&am…

数据仓库面试题集锦(附答案和数仓知识体系)

【数据仓库系列文章 - 传送门】 一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法&#xff09;一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法、对比&#xff09;_不吃西红柿-CSDN博客_事实表三种…

pidgin-qq可以使用QQ2012协议了

前几个月前还用过pidgin-qq登录过QQ&#xff0c;当时用的还是2010协议。可不久就发现2010协议已经变得不可用了&#xff0c;之后也尝试过各种webqq协议的方案&#xff0c;什么gtkqq,pidgin-lwqq,可能是webqq协议功能不完善吧&#xff0c;用起来总觉得跟我想要的qq功能相差太远。…