一、整体框架
    规律:
    (1)涉及Reader和Writer的都是字符流
    (2)涉及Stream的都是字节流
    image.png
    1、文件的拷贝
    (1)字符流实现文件的拷贝
    只适用文本文件
    image.png
    (1)字节流实现文件的拷贝
    适用于任何格式的文件
    image.png
    image.png
    二、关于字符流和字节流相互转换的总结
    (1)java.io.OutputStreamWriter类主要用于实现从字符流到字节流的转换 ,参数是 OutputStream类型的对象
    (2)java.io.InputStreamReader类主要用于实现从字节流到字符流的转换 ,参数是 IutputStream类型的对象
    【理解】

    【应用】
    (1)
    (2)System.in是InputStream类型的字节流,正好作为java.io.InputStreamReader的参数。
    image.png
    ps.new对象会申请内存,所以为了避免无限申请内存,所有new对象的操作都要放到while循环的外面。
    三、打印流PirntStream和PrintWriter类
    共同:都是为了将内容写入到文件,或者输出到控制台。
    java.io.PrintStream类主要用于更加方便地打印各种数据内容
    java.io.PrintWriter类主要用于将对象的格式化形式打印到文本输出流