gpt4 book ai didi

java - 为什么需要 PrintWriter?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:12:38 27 4
gpt4 key购买 nike

我真的很困惑各种io类的用途,例如,如果我们有BufferedWriter,为什么我们需要一个PrintWriter?

BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while(s=br.readline()!=null) {
PrintWriter fs = new PrintWriter(new FileWriter(file));
fs.println(s);
}

如果BufferedWriter帮不上忙?我只是不明白这些 io 类之间的区别,有人可以解释一下吗?

最佳答案

他们之间没有任何关系。事实上,除了临时转换 System.out 外,我很少使用 PrintWriter。但无论如何。

BufferedWriter,像BufferedReader/BufferedInputStream/BufferedOutputStream只是装饰了封闭的Writer 使用内存缓冲区(您可以指定大小)或接受默认值。这在写入慢速 Writer(例如基于网络或基于文件的 Writer)时非常有用。 (例如,东西在内存中提交,只是偶尔提交到磁盘)通过在内存中缓冲,速度大大提高 - 尝试编写代码,仅使用 FileWriter 写入一个 10 MB 的文件,然后与与包裹它的 BufferedWriter 相同。

这就是 BufferedWriter。它引入了一些方便的方法,但大多数情况下它只是提供这个内存缓冲区。

PrintWriter 主要是一个简单的装饰器,它为各种类型添加了一些特定的写入方法,例如 Stringfloat 等,因此您不必不必将所有内容都转换为原始字节。

编辑:

This已经上来了

关于java - 为什么需要 PrintWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5765978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com