PrintWriter
дает больше методов (println
), но самое важное (и тревожное) различие, о котором следует знать, заключается в том, что он проглатывает исключения .
Позже вы можете позвонить checkError
, чтобы узнать, произошли ли какие-либо ошибки, но обычно вы используете PrintWriter
для таких вещей, как запись в консоль или в «быстрых и грязных» приложениях, где вы этого не делаете хотите, чтобы вас беспокоили исключения (и где долгосрочная надежность не является проблемой).
Я не уверен, почему аспекты «дополнительные возможности форматирования» и «не глотать исключения» объединены в одном классе - форматирование, очевидно, полезно во многих местах, где вы не хотите исключения, которые нужно проглотить. Было бы неплохо увидеть, как BufferedWriter
получит те же способности в какой-то момент ...