FileOutputStream VS FileWriter

简介:

当我们使用Java往文件写入数据的时候,我们有两种方式,使用FileOutputStream或FileWriter。

FileOutputStream:

File fout = new File(file_location_string);
FileOutputStream fos = new FileOutputStream(fout);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fos));
out.write("something");

FileWriter:

FileWriter fstream = new FileWriter(file_location_string);
BufferedWriter out = new BufferedWriter(fstream);
out.write("something");

以上两种方式都可以正常运行,但是它们究竟有何区别呢?

关于以上这两个类,有太多需要讨论,它们都很好的实现了常见操作系统的文件I/O理念。然而,我们并不关心它们是如何设计的,我们关注的是如何选择,以及为什么选择它。

从Java的API规范中是这样描述它们的:

FileOutputStream适用于写入原始字节数据,如图像。

FileWriter适用于字符流的写入。

如果你熟悉设计模式的话,FileWriter是装饰器模式的一个典型应用。我这有一个装饰器模式的简单教程,因为它非常有用,且被应用到很多设计中。


本文转自风一样的码农博客园博客,原文链接:http://www.cnblogs.com/chenpi/p/5496959.html,如需转载请自行联系原作者

相关文章
|
4月前
|
存储 Java 调度
FileInputStream,FileOutputStream 和 FileReader ,FileWriter 类的基本使用【 File类+IO流知识回顾②】
这篇文章回顾了Java中FileInputStream、FileOutputStream、FileReader和FileWriter类的基本使用方法,包括读取和写入文件的操作,以及字符流和字节流的区别和应用场景。
FileInputStream,FileOutputStream 和 FileReader ,FileWriter 类的基本使用【 File类+IO流知识回顾②】
|
6月前
|
存储 Java
使用OutputStreamWriter写入数据
使用OutputStreamWriter写入数据
|
存储
人迹罕至的FileReader
FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。 这边文章主要分4 部分介绍FileReader。
67 0
|
8月前
|
Java
FileInputStream和FileOutputStream
FileInputStream和FileOutputStream
55 0
File操作-FileReader(FileWriter)/BufferedReader(Writer)
File操作-FileReader(FileWriter)/BufferedReader(Writer)
59 0
FileReader和FileWriter流
FileReader和FileWriter流
58 0
|
存储 Java
FileInputStream 你了解多少
FileInputStream 你了解多少
|
Web App开发 存储 小程序
FileReader详解
FileReader详解
FileReader详解
|
消息中间件 前端开发 JavaScript
InputStream 和 OutputStream 基础
大家好,我是指北君。 PS:最近是跳槽的高峰期,我连日加班好多天,整理出了包含16000 多道面试题的面试宝典,并且指北君也会持续更新这份面试宝典中的题目,希望它能帮助大家找到自己心仪的工作!【文末有领取方式】
InputStream 和 OutputStream 基础