java - BufferedWriter 类的 writeLine 方法

标签 java

为什么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/

相关文章:

java - 从 .war 文件恢复到 Web 应用程序的最佳做法是什么

java - 标记非数据库字段 @Transient 与范围 JPA 实体?

java - 启动时确定Axis2服务的文件系统路径

Java:遍历嵌套的 JSON 对象

java - 带数字的antlr4语法字符串

java - 创建两个不同类的扫描仪

java - 使用 bmuschko/gradle-docker-plugin 进行 Gradle 清理任务

java - 读取 Excel 数字单元格值,因为它们在 Java 中

java - Android 适配库

JavaFX/FXML 将 ChoiceBox 添加到根 Pane