A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2018-4-24 19:57 编辑

标准IO流笔记



标准IO输入输出流标准输入流
  • 成员变量:public static final InputStream in: 字节输入流:用来读取键盘录入的数据
    • InputStream is = System.in;


标准输出流
  • 成员变[url=]微软雅黑[/url]量: public static final PrintStream out: 字节输出流,将数据输出到命令行
    • OutputStream os = System.out;


OutputStreamWriter 的概述
  • 标准输出流是一个字节输出流,所以只能输出字节或者字节数组,但是我们读取到的数据则是字符串,如果想进行输出还需要转换成字节数组,我们要向通过标准输出流输出字符串,把标准输出流换成一种字符输出流即可,OutputStreamWriter
  • InputStreamReader的概述和使用:控制台录入到文件
    • 是Reader类的子类,属于字符输入流,是字节流通向字符流的桥梁
    • 作用,以读取字符流的方式编写代码,而底层是字节流


打印流概述
  • 分类
    • PrintSream: 字节打印流
    • PrintWriter:字符打印流
      • 可以自动换行,println()
      • 不能输出字节,但是可以输出其他任意类型
      • 通过某些配置,可以实现自动刷新,(只有在调用println(),printf或format才有用)
      • 是包装流,不具备写出功能
      • 可以把字节输出流转换成字符输出流.

    • 只有输出流,因为打印是输出操作.

  • 特有功能
    • 自动换行:使用方法println(),和系统无关.
    • 自动刷新
      • 创建PrintWriter对象时,启动自动刷新开关,而且只有在调用println(),printf(),printformat()这三种方法的时候才能自动刷新

    • 注意:
      • 创建File对象的true是判断对文件是否追加,
      • 创建打印流对象的boolean是判断是否刷新.



对象错做流
  • 可以用于读写任意类型的对象Object,所有类的父类
  • ObjectOutputStream 对象输出流,以OutputStream结尾,是字节流
    • writeObject
    • ObjectOutputStream(OutputStream in);

  • ObjectInputStream 对象输入流,以InputStream结尾,是字节流
    • readObject
    • ObjectInputStream(InputStream in);

  • 注意事项:
    • 使用对象输出流对象输出的只能使用对象输入流来读入对象.
    • 只能将



Properties概述
  • 实现了Map,也是一个双列集合
  • 在java中有一个对应的类,实现了Map,可以使用Map接口的方法
  • #开头的是注释信息
  • Properties:表示了一个持久的属性集,属性中每个键和他对应的值都是String类型
  • 构造方法
    • 无参构造:Properties();

  • 特有方法
    • String getProperty(String key);
    • String getProperty(string key,String defaultValue);


Properties 和IO流结合的功能
  • void list(PrintWriter out)

编码表
  • ASCII
  • GB2312---->GBK
  • Unicode 所有的字符都占2个字节
  • UTF-8,长度可变的码表(由Unicode转变而来)
  • ANSI:本地编码表:根据系统设置决定编码表(中国默认的是GBK);
  • ISO-8859-1西方语言编码

乱码
  • 编码保持前后一致即可解决

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马