8.2 FileOutputStream 与 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");

都可以正常工作,那么两者的区别是什么?
对于每个类都有很多讨论,它们都是在一般操作系统中可以找到文件IO概念的良好实现。但是,我们不在乎它的设计方式,而只是选择其中之一,为什么选择它。

JAVA 的API规范:

FileOutputStream用于写入诸如图像数据之类的原始字节流。要编写字符流,请考虑使用FileWriter。
如果你熟悉设计模式,FileWriter实际上是Decorator模式的典型用法。我使用简单的教程来演示Decorator模式,因为它对许多设计非常重要,非常有用。
FileOutputStream的一个应用是将文件转换为字节数组。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,815评论 18 399
  • 一、流的概念和作用。 流是一种有顺序的,有起点和终点的字节集合,是对数据传输的总成或抽象。即数据在两设备之间的传输...
    布鲁斯不吐丝阅读 13,444评论 2 95
  • 在经过一次没有准备的面试后,发现自己虽然写了两年的android代码,基础知识却忘的差不多了。这是程序员的大忌,没...
    猿来如痴阅读 8,138评论 3 10
  • 在服务行业,有那么一句话经久不衰,奉为经典——“顾客就是上帝”。本意是为了提高服务的质量和效率,为顾客提供更优质的...
    爱吃菜的阿尼阅读 2,905评论 0 2
  • let 和 const letES6新增了let命令,用来声明标量,他的做法类似于var,但是所声明的变量,只在l...
    __越过山丘__阅读 1,607评论 0 0

友情链接更多精彩内容