当我们使用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的一个应用是将文件转换为字节数组。