我真的很困惑各种 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 类之间的区别,有人可以解释一下吗?
他们彼此没有任何关系。说实话,我很少使用PrintWriter
除了转换System.out
暂时地。但不管怎么说。
BufferedWriter
, like BufferedReader
/BufferedInputStream
/BufferedOutputStream
只是装饰封闭的Writer
使用内存缓冲区(您可以指定大小)或接受默认值。当写入速度较慢的写入器(例如基于网络或基于文件的写入器)时,这非常有用。 (例如,内容被提交到内存中,并且偶尔会提交到磁盘)通过在内存中缓冲,速度会大大提高 - 尝试编写仅使用 10 mb 文件写入的代码FileWriter
然后与相同的进行比较BufferedWriter
缠绕在它周围。
所以那是BufferedWriter
。它提供了一些方便的方法,但大多数情况下它只是提供这个内存缓冲区。
PrintWriter
主要是一个简单的装饰器,为各种类型添加一些特定的写入方法,例如String
, float
等,因此您不必将所有内容都转换为原始字节。
Edited:
This https://stackoverflow.com/questions/1747040/difference-between-java-io-printwriter-and-java-io-bufferedwriter已经出现了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)