A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 283557811 中级黑马   /  2015-12-20 11:04  /  758 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

使用FileOutputStream:

1

2

3

4

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



使用FileWriter:

1

2

3

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



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

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

Java API中的解释:

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

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

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


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马