首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.io.PrintWriter和java.io.BufferedWriter的区别是什么?

java.io.PrintWriter和java.io.BufferedWriter的区别是什么?
EN

Stack Overflow用户
提问于 2009-11-17 14:52:31
回答 6查看 86.8K关注 0票数 100

请查看以下代码:

代码语言:javascript
复制
// A.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
PrintWriter printWriter = new PrintWriter(fileWriter);

// B.class
File file = new File("blah.txt");
FileWriter fileWriter = new FileWriter(file);
BufferedWriter bWriter = new BufferedWriter(fileWriter);

这两种方法有什么不同?

什么时候我们应该在BufferedWriter上使用PrintWriter?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-11-17 14:57:37

BufferedWriterPrintWriter的应用编程接口参考详细介绍了它们之间的区别。

使用PrintWriter的主要原因是访问像println()这样的printXXX方法。您基本上可以使用PrintWriter写入文件,就像使用System.out写入控制台一样。

BufferedWriter是一种有效的写入文件(或其他任何东西)的方法,因为它会在(可能取决于实现)使用C语言对文件进行写入之前缓冲Java内存中的字符。

没有“PrintReader”这样的概念;最接近的可能是java.util.Scanner

票数 68
EN

Stack Overflow用户

发布于 2009-11-17 15:07:33

正如TofuBeer的回答中所说,两者都有自己的特点。要充分利用PrintWriter (或任何其他编写器)的优势,但又要使用缓冲编写,您可以将BufferedWriter与所需的any包装在一起:

代码语言:javascript
复制
PrintWriter writer = new PrintWriter(
                         new BufferedWriter (
                             new FileWriter("somFile.txt")));
票数 8
EN

Stack Overflow用户

发布于 2009-11-17 15:15:36

PrintWriter只是在字符模式下公开任何Writer上的打印方法。

根据其缓冲方法,BufferedWriter比更有效。它附带了一个newLine()方法,可以根据您的系统平台正确地操作文本文件。

BufferedReader允许从文件中读取文本,并将字节转换为字符。它允许逐行阅读。

没有PrintReader,您必须根据输入的格式选择另一个Reader实现。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1747040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档