FileOutputStream vs. FileWriter

当我们要用Java写文件时通常有两个方法:使用FileOutputStream或者FileWriter。

使用FileOutputStream:

两种方法都可以写文件,但是使用FileOutputStream和FileWriter有什么分别呢?

对比这两个类有很多讨论,它们都实现了普通操作系统的i/o概念。我们不需要关心它们是怎么设计的,我们仅仅需要知道选择使用哪个,以及为什么使用它。

Java API中的解释:

FileOutputStream是用来输出原始字节流的,如图像数据。要输出字符流,则使用FileWriter。

如果你对于设计模式也熟悉的话,FileWriter是典型的装饰者模式。我已经写过教程来解释装饰者模式了,因为它对于很多设计来说都很重要。

FileOutputStream的一个应用就是将文件转换成字节数组。

原文链接: Programcreek 翻译: ImportNew.com - 唐小娟

原文发布于微信公众号 - java一日一条(mjx_java)

原文发表时间:2015-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

Go语言中三种不同md5计算方式的性能比较

前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上。下面来一起看看吧。 R...

3187
来自专栏用户2442861的专栏

java IO流之二 使用IO流读取存储文件

http://blog.csdn.net/a107494639/article/details/7586440

2322
来自专栏我是攻城师

Java如何调用Linux命令

4926
来自专栏飞雪无情的博客

Go语言实战笔记(十九)| Go Writer 和 Reader

Go Writer 和 Reader接口的设计遵循了Unix的输入和输出,一个程序的输出可以是另外一个程序的输入。他们的功能单一并且纯粹,这样就可以非常容易的编...

1002
来自专栏码农分享

1.HtmlAgilityPack 爬取优酷电影名

爬虫的制作主要分为三个方面 1、加载网页结构 2、解析网页结构,转变为符合需求的数据实体 3、保存数据实体(数据库,文本等)

1292
来自专栏java一日一条

FileOutputStream vs. FileWriter

两种方法都可以写文件,但是使用FileOutputStream和FileWriter有什么分别呢?

1513
来自专栏学习力

《Java从入门到放弃》JavaSE入门篇:文件操作

1906
来自专栏技术/开源

TypeScript设计模式之单例、建造者、原型

看看用TypeScript怎样实现常见的设计模式,顺便复习一下。 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到...

2326
来自专栏chenssy

【死磕 Spring】----- IOC 之 获取验证模型

在上篇博客【死磕Spring】----- IOC 之 加载 Bean 中提到,在核心逻辑方法 doLoadBeanDefinitions()中主要是做三件事情。

1034
来自专栏Golang语言社区

Go语言中三种不同md5计算方式的性能比较

前言 本文主要介绍的是三种不同的 md5 计算方式,其实区别是读文件的不同,也就是磁盘 I/O, 所以也可以举一反三用在网络 I/O 上。下面来一起看看吧。 R...

51210

扫码关注云+社区

领取腾讯云代金券