文本输出应该比较常用,以前都是通过反复的创建InputStream, InputReader, OutputStream, OutputWriter等去输入输出文本,比较麻烦。
Apache提供了一个commons-io.jar包,里面有很多IO相关的工具,比如输入输出文本等,着实方便了很多。
比如读取一个文件:
// by FileUtils
List<String> lines = FileUtils.readLines(file, "UTF-8");
// by IOUtils
List<String> lines = IOUtils.readLines(new FileInputStream(file), "UTF-8");
写入文件:
// by FileUtils
FileUtils.writeLines(file, "UTF-8", lines);
// by IOUtils
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中是提供了这样的方法的,只不过比较隐晦而已:
try {
OutputStream os = new FileOutputStream(file, true);
IOUtils.writeLines(lines, null, os, "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
其实就是在初始化FileOutputStream的时候 ,第二个参数append设为true就可以了。
分享到:
相关推荐
java组件开发(12) IOUtils、FileUtils
Apache Commons IO 2.5 (要求 JDK 1.6),IOUtils,FileUtils,jar包下载
- 由第三方研发的工具类 - 要使用commons-io工具包,就需要先从第三方下载该工具包 ...IOUtils类: 复制单个文件(文件对文件) FileUtils工具类: 复制目录或文件(多个文件) commons-io可以简化IO复制文件的操作
IOUtils IOUtils MD5 MD5 MiscUtils 设备信息的获取 NetWorkUtils 网络状态 PhoneUtil 手机组件调用工具类 PreferencesUtils sp工具类 RandomUtils 随机数工具类 RecorderControl 录音工具类 SerializeUtils ...
DrawableUtils.java FileUtils.java IOUtils.java LogUtils.java PackageUtils.java StringUtils.java SystemUtils.java UIUtils.java ViewUtils.java DownloadManager.java ThreadManager.java
BitmapUtils、FileUtils、IOUtils、PhotoUtils、StorageUtils。用于图片、文件、Bitmap、IO流之间的转换 > log > -- LogUtils。Log工具类,可控制Log输出开关、保存Log到文件、过滤输出等级 > network > -- 用于判断...
打开FileUtils的api文档,我们抽出一些工作中比较常用的方法,进行总结和讲解。总结如下: cleanDirectory:清空目录,但不删除目录。 contentEquals:比较两个文件的内容是否相同。 copyDirectory:将一个目录...
D:\002 我的工具类\001 流\文件操作整体2\FileUtils.java D:\002 我的工具类\001 流\文件操作整体2\IOUtils.java D:\002 我的工具类\001 流\文件操作整体2\PropertiesUtil.java D:\002 我的工具类\0013数字 D:\002 ...
Android实用程序可以使我(和其他人)提高工作效率的实用程序库和类。可用班级SharedPrefsUtils ExifUtil FileUtils ImageUtils 实用程序LogUtils NotificationIdFactory 路径实用程序PermissionUtils ...
FileUtils File Unility Class FragmentUtils Fragment Unility Class HandlerUtils Handler Unility Class IOUtils IO Unility Class ImageUtils Image Unility Class InputMethodUtils InputMethod Unility ...