首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >BufferedWriter类的writeLine方法

BufferedWriter类的writeLine方法
EN

Stack Overflow用户
提问于 2019-05-17 07:01:40
回答 2查看 0关注 0票数 0

为什么BufferedReader类有一个readLine()方法,但是BufferedWriter类没有writeLine(String)方法?现在我们要做的write(str + "\n")还是write(str)newLine()

EN

回答 2

Stack Overflow用户

发布于 2019-05-17 15:20:29

来自https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html

提供了一个newLine()方法,它使用平台自己的行分隔符概念,由系统属性line.separator定义。并非所有平台都使用换行符('\ n')来终止行。因此,调用此方法终止每个输出行比直接编写换行符更为可取。

票数 0
EN

Stack Overflow用户

发布于 2019-05-17 16:47:06

通过javadocs读取我没有看到为什么writeLine()没有提供方法的任何具体原因。使用提供的write方法,BufferedWriter将在写入之前缓冲字符以提高效率。提供新writeLine()方法不会添加任何值,因为此虚构writeLine方法中提供的字符流将仅在缓冲区已满时进行缓冲和写入。

您可以切换到PrintWriter类而不是BufferedWriter,因为它提供了println(String str)可用于编写字符串和换行符的方法。但是与BufferedWriter相比,这是低效的,只有在希望输出文件在调用println()方法时立即写入字符串时才更好。

对于这里BufferedWriter提到的类的原因,最好的方法是使用和方法。write()newLine()

要利用方法的优点BufferedWriter和访问println()方法,您可以按照javadocs中的建议执行以下操作:

代码语言:javascript
复制
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
out.println("Hello World!");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006746

复制
相关文章

相似问题

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