zoukankan      html  css  js  c++  java
  • IO流(三)

    1:字符流(掌握)
    (1)转换流

      字节流操作中文数据不是特别的方便,所以就出现了转换流。
      转换流的作用就是把字节流转换字符流来使用。
    (2)转换流其实是一个字符流
      字符流 = 字节流 + 编码表
    (3)编码表
     1:就是由字符和对应的数值组成的一张表.
     2:常见的编码表:

    • ASCII
    • ISO-8859-1
    • GB2312
    • GBK
    • GB18030
    • UTF-8

    C:字符串中的编码问题
    编码
      String -- byte[]
    解码
      byte[] -- String
    (4)IO流中的编码问题
     A:OutputStreamWriter
        OutputStreamWriter(OutputStream os):默认编码,GBK
        OutputStreamWriter(OutputStream os,String charsetName):指定编码
     B:InputStreamReader
        InputStreamReader(InputStream is):默认编码,GBK
        InputStreamReader(InputStream is,String charsetName):指定编码
     C:编码问题其实很简单,
      编码只要一致即可.
    (5)字符流
      Reader
        |--InputStreamReader
          |--FileReader
        |--BufferedReader
      Writer
        |--OutputStreamWriter
          |--FileWriter
        |--BufferedWriter
    (6)复制文本文件(5种方式)

    close()和flush()的区别?
     1:close()关闭流对象,但是先刷新一次缓冲区。关闭之后,流对象不可以继续再使用了。
     2:flush()仅仅刷新缓冲区,刷新之后,流对象还可以继续使用

    2:IO流小结(掌握)
      IO流
        |--字节流
          |--字节输入流
          InputStream
            int read():一次读取一个字节.
            int read(byte[] bys):一次读取一个字节数组.
            |--FileInputStream
              |--BufferedInputStream
          |--字节输出流
          OutputStream
            void write(int by):一次写一个字节.
            void write(byte[] bys,int index,int len):一次写一个字节数组的一部分.
            |--FileOutputStream
              |--BufferedOutputStream
        |--字符流
          |--字符输入流
          Reader
          int read():一次读取一个字符.
          int read(char[] chs):一次读取一个字符数组.
            |--InputStreamReader
              |--FileReader
            |--BufferedReader
            String readLine():一次读取一个字符串.
          |--字符输出流
          Writer
          void write(int ch):一次写一个字符.
          void write(char[] chs,int index,int len):一次写一个字符数组的一部分.
            |--OutputStreamWriter
              |--FileWriter
            |--BufferedWriter
            void newLine():写一个换行符.
            void write(String line):一次写一个字符串.

    3:案例(理解 练习一遍)
    A:复制文本文件 5种方式(掌握)
    B:复制图片(二进制流数据) 4种方式(掌握)
    C:把集合中的数据存储到文本文件
    D:把文本文件中的数据读取到集合并遍历集合
    E:复制单级文件夹
    F:复制单级文件夹中指定的文件并修改名称
    回顾一下批量修改名称
    G:复制多级文件夹
    H:键盘录入学生信息按照总分从高到低存储到文本文件
    I:把某个文件中的字符串排序后输出到另一个文本文件中
    J:用Reader模拟BufferedReader的特有功能
    K:模拟LineNumberReader的特有功能

  • 相关阅读:
    Spring Boot 环境变量读取 和 属性对象的绑定
    SpringMvc(4-1)Spring MVC 中的 forward 和 redirect(转)
    shiro实现登录安全认证(转)
    史上最全的开发工具类(转)
    Shiro权限管理框架详解
    js中退出语句break,continue和return 比较 (转)
    jQuery获取多种input值的方法(转)
    jquery常用方法总结(转)
    jQuery常用方法(持续更新)(转)
    idea+springboot+freemarker热部署(转)
  • 原文地址:https://www.cnblogs.com/crazypokerk/p/9094259.html
Copyright © 2011-2022 走看看