PrintStream、BufferedWriter、PrintWriter的比较?

  1. PrintStream类的输出功能非常强大,通常如果需要输出文本内容,都应该将输出流包 装成PrintStream后进行输出。它还提供其他两项功能。与其他输出流不同, PrintStream 永远不会抛出 IOException;而是,异常情况仅设置可通过 checkError 方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream

  2. BufferedWriter:将文本写入字符输出流,缓冲各个字符从而提供单个字符,数组和字符 串的高效写入。通过write()方法可以将获取到的字符输出,然后通过newLine()进行换 行操作。BufferedWriter中的字符流必须通过调用flush方法才能将其刷出去。并且 BufferedWriter只能对字符流进行操作。如果要对字节流操作,则使用 BufferedInputStream

  3. PrintWriter的println方法自动添加换行,不会抛异常,若关心异常,需要调用 checkError方法看是否有异常发生,PrintWriter构造方法可指定参数,实现自动刷新 缓存(autoflush)