我一直使用
因此我想问:这两种文件I/O方法之间是否存在性能差异(即使很小)?如果有,它们是什么,为什么?如果没有,为什么它们实际上是相同的?
是否有某些场景中一个比另一个更好用呢?谢谢提前!
FileWriter
在Java中将文本写入文件。显然,也可以使用BufferedOutputStream
。仔细阅读两个Javadoc之后,我似乎无法确定哪种方法更快/更有效。因此我想问:这两种文件I/O方法之间是否存在性能差异(即使很小)?如果有,它们是什么,为什么?如果没有,为什么它们实际上是相同的?
是否有某些场景中一个比另一个更好用呢?谢谢提前!
BufferedOutputStream
将文本写入文件?!?这篇文章似乎认为可以。如果那篇文章是正确的,那么尽管FileWriter
和BufferedOutputStream
可能用于2个不同的用途,但在写入文本到文件时比较它们的性能是可能的(也就是我的问题所在)。 - user1768830FileWriter
使用的内部缓冲区。我想尝试一下,即使只是为了自己的娱乐。但我无论如何都想不出如何配置OutputStreamWriter
和FileOutputStream
并将它们注入到FileWriter
构造函数中 - 你有什么想法吗?我在哪里指定新的缓冲区大小?再次感谢您迄今为止提供的所有帮助! - user1768830BufferedOutputStream
编写文本,首先必须手动将任何文本转换为字节,通过调用getBytes
,这很不方便并且会创建一个立即变成垃圾的字节数组。 - JoniFileWriter
实际上是OutputStreamWriter
的子类,它被设置成只能写入FileOutputStream
,所以如果你想自定义一些属性,你可以创建一个连接到FileOutputStream
的OutputStreamWriter
。但是无法更改内部缓冲区大小。默认的 8k 缓冲区对于大多数应用程序来说已经足够大了。 - Joni