如果这是重复的话,我很抱歉,但我无法找到对每种类型的最佳做法的明确答案。
我想知道什么是适当的条件来定义何时使用BufferedReader与FileReader或BufferedInput / OutputStream与FileInput / OutputStream?是否有一个总是告诉你什么是合适的种类公式?
我应该只使用缓冲吗?
由于
答案 0 :(得分:14)
如果流将具有大量小访问权限,请使用缓冲区。如果您要进行相对较少的相对较大的访问,请使用无缓冲。
答案 1 :(得分:3)
您应该使用无缓冲I / O的唯一时间是缓冲带来的延迟和聚合对您的应用程序不适当。
答案 2 :(得分:2)
“是否有一种类型的公式可以告诉您什么是合适的?”
如果有的话,它已经存在于图书馆中,并且不会是您必须做出的设计决定。
由于没有答案,你必须做出设计决定,你必须要考虑它。
或者,您可以尝试这两个选项,根据您的独特问题和您的独特标准,查看哪个选项“更好”。
大多数标准I / O库都是缓冲的。这暗示大多数I / O都可以从缓冲中受益。但不是所有的。例如,游戏需要无人访问游戏控件。
答案 3 :(得分:1)
另请注意,BufferedReader
为您提供了方便readLine()
方法,允许您一次只读一行内容。
答案 4 :(得分:0)
我建议您使用Buffered *,如果这会让您的应用程序更快,否则我不会打扰它。即尝试使用实际数据,看看它是否有帮助。