为什么BufferedReader
类(class)有readLine()
方法,但 BufferedWriter
类(class)没有 writeLine(String)
方法?现在我们要做write(str + "\n")
或 write(str)
和 newLine()
.
最佳答案
阅读 javadocs 我没有看到任何特定的原因 writeLine()
不提供方法。随着提供 write
方法 BufferedWriter 将在写入之前缓冲字符以提高效率。提供新writeLine()
方法不会添加任何值,因为此虚构中提供的字符流 writeLine
只有当缓冲区已满时,方法才会被缓冲和写入。
您可以切换到PrintWriter类而不是 BufferedWriter,因为它提供了 println(String str)
可用于写入字符串和换行符的方法。但是,与 BufferedWriter 相比,这是低效的,最好仅当您希望输出文件在调用 println() 方法时立即写入字符串时才使用它。
与 BufferedWriter
类的原因在 here 中提到最好的方法是使用 write()
和 newLine()
方法。
利用 BufferedWriter
的好处并有权访问 println()
方法,您可以按照 javadocs 中的建议执行以下操作:
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
out.println("Hello World!");
关于java - BufferedWriter 类的 writeLine 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34292661/