Java 缓冲与非缓冲,使用哪一种?

Java 缓冲与非缓冲,使用哪一种?,java,file,buffered,Java,File,Buffered,我很抱歉,如果这是一个重复,但我无法找到一个明确的答案,什么是每种类型的最佳做法 我想知道定义何时使用BufferedReader vs FileReader或BufferedInput/OutputStream vs FileInput/OutputStream的适当条件是什么?有没有一个公式可以告诉你什么是合适的 我应该一直使用缓冲区吗 谢谢如果流有很多小访问,请使用缓冲区。如果要进行相对较少、相对较大的访问,请使用无缓冲。唯一应该使用无缓冲I/O的时间是当缓冲所施加的延迟和聚合不适合您的应

我很抱歉,如果这是一个重复,但我无法找到一个明确的答案,什么是每种类型的最佳做法

我想知道定义何时使用BufferedReader vs FileReader或BufferedInput/OutputStream vs FileInput/OutputStream的适当条件是什么?有没有一个公式可以告诉你什么是合适的

我应该一直使用缓冲区吗


谢谢

如果流有很多小访问,请使用缓冲区。如果要进行相对较少、相对较大的访问,请使用无缓冲。

唯一应该使用无缓冲I/O的时间是当缓冲所施加的延迟和聚合不适合您的应用程序时。

“是否有一个排序公式可以始终告诉您什么是合适的?”

如果有,它将已经在库中,而不是您必须做出的设计决策

因为没有合适的答案,你必须做出设计决定,你必须认真考虑

或者,您可以尝试这两种选择,并根据您的独特问题和独特标准,查看哪种“更好”


大多数标准I/O库都是缓冲的。这暗示大多数I/O都可以从缓冲中获益。但并非全部。例如,游戏需要无缓冲地访问游戏控件。

请记住,
BufferedReader
为您提供了一种方便的
readLine()
方法,允许您一次读取一行内容。

我建议您使用Buffered*,如果这能让您的应用程序运行得更快,要不然我就不麻烦了。i、 e.用实际数据试试看是否有用。

你说的“确定”是什么意思?S.洛特:我想他只是在寻找你应该何时使用每一个。我想确定==每一个的最佳实践是什么type@stackMe:请更新您的问题以澄清它。不要对自己的问题发表评论。当您自己用
字节[]
在InputStream和OutputStream(或反之)之间缓冲时会怎么样。你能用一个缓冲的*包起来吗?