请查看以下代码:
// 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?
发布于 2009-11-17 14:57:37
BufferedWriter和PrintWriter的应用编程接口参考详细介绍了它们之间的区别。
使用PrintWriter的主要原因是访问像println()这样的printXXX方法。您基本上可以使用PrintWriter写入文件,就像使用System.out写入控制台一样。
BufferedWriter是一种有效的写入文件(或其他任何东西)的方法,因为它会在(可能取决于实现)使用C语言对文件进行写入之前缓冲Java内存中的字符。
没有“PrintReader”这样的概念;最接近的可能是java.util.Scanner。
发布于 2009-11-17 15:07:33
正如TofuBeer的回答中所说,两者都有自己的特点。要充分利用PrintWriter (或任何其他编写器)的优势,但又要使用缓冲编写,您可以将BufferedWriter与所需的any包装在一起:
PrintWriter writer = new PrintWriter(
new BufferedWriter (
new FileWriter("somFile.txt")));
发布于 2009-11-17 15:15:36
PrintWriter只是在字符模式下公开任何Writer上的打印方法。
根据其缓冲方法,BufferedWriter比更有效。它附带了一个newLine()方法,可以根据您的系统平台正确地操作文本文件。
BufferedReader允许从文件中读取文本,并将字节转换为字符。它允许逐行阅读。
没有PrintReader,您必须根据输入的格式选择另一个Reader实现。
https://stackoverflow.com/questions/1747040
复制相似问题