Буферизованный и не буферизованный, какой использовать?
=======================================================

 Мне жаль, если это дубликат, но я не смог найти однозначного ответа на вопрос, что является наилучшей практикой для каждого типа.

 Я хотел бы знать, какие соответствующие условия определяют, когда следует использовать BufferedReader против FileReader или BufferedInput / OutputStream против FileInput / OutputStream? Есть ли какая-то формула, которая всегда скажет вам, что подходит?

 Должен ли я всегда использовать буферизованный?

Благодарност

 если поток будет иметь небольшой доступ. Используйте небуферизованный доступ, если у вас будет относительно мало относительно больших обращений.



 `BufferedReader` предоставляет вам удобство`readLine()` метод, позволяющий читать содержимое по одной строке за раз.



 если это заставит ваше приложение работать быстрее, иначе я бы не стал беспокоиться об этом. то есть попробуйте с реалистичными данными, чтобы увидеть, помогает ли это.



 когда вы должны использовать небуферизованный ввод-вывод, это когда задержка и агрегация, наложенная буферизацией, не подходит для вашего приложения.



 **"Есть ли какая-то формула, которая всегда скажет тебе, что уместно?"**

 Если бы оно было, оно уже было бы в библиотеках и не было бы дизайнерским решением, которое вам пришлось бы принять.

 Поскольку ответа нет, вам нужно принять решение о дизайне, вы должны подумать об этом.

 Или, вы можете попробовать оба варианта и посмотреть, какой из них «лучше», исходя из вашей уникальной проблемы и ваших уникальных критериев.

 Большинство стандартных библиотек ввода / вывода буферизируются. Это подсказка, что большинство операций ввода-вывода выигрывают от буферизации. Но не все. Например, для игр необходим небуферизованный доступ к элементам управления игрой.