zoukankan      html  css  js  c++  java
  • IO流

    流的概念:程序与数据来源之间的桥梁

    流的分类:
      按数据方向分:输入流和输出流
        输入流:InputStream/Reader
        OutputStream/Writer
      按数据类型分:字节流和字符流
       字节流:InputStream/OutputStream
       字符流:Reader/Writer
      按流的功能分:节点流和处理流
       节点流用操作数据的来源。
       处理流用来封装节点流,从而给节点流增加一个功能,不能独立存在,在关闭流时如果使用了处理流,只需关闭最外层的流就可以了。
       区分节点流和处理流的小方法:
        看构造器,节点流参数为数据来源,而处理流参数为其他流。

    选择流的思路:
      先考虑是输入流还是输出流,
      再考虑是字节流还是字符流,
      最后考虑是节点流还是处理流。
      
    字符流:Reader和Writer所有字符流的父类型
      Java技术使用Unicode来表示字符串和字符,而且提供16位版本的流,以便用类似的方法处理字符。 
      如果构造了一个连接到流的Reader和Writer,转换规则会在使用缺省平台所定义的字节编码和Unicode之间切换。 
      
    桥梁流:InputStreamReader和OutputStreamWriter(字节流转化成字符流的桥转换器)
      这两个类不是用于直接输入输出的,他是将字节流转换成字符流的桥转换器,并可以指定编解码方式。
       
    逐行读写流:BufferedReader/BufferedWriter
      以上两个都是过滤流,需要用其他的节点流来作参数构造对象。
      BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。要注意,再写入时要注意写换行符,否则会出现阻塞。
      BufferedWriter的方法:newLine() ,这个方法会写出一个换行符。
      
    管道流:线程交互的时候使用 (J2ME中不支持)
      PipedInputStream/PipedOutputStream
       传送输出流可以连接到传送输入流,以创建通信管道。传送输出流是管道的发送端。通常,数据由某个线程写入 PipedOutputStream 对象,并由其他线程从连接的 PipedInputStream 读取。
      注意:管道输出流和管道输入流需要对接。
       
    数据流:DataInputStream和DataOutputStream
      通过流来读写Java基本类,注意DataInputStream和DataOutputStream的方法是成对的。 
      支持直接输出输入各种数据类型。
      注意:使用DataOutputStream/DataInputStream时,要注意写入顺序和读取顺序相同,否则会将没有分割写入的信息分割不正确而读取出错误的数据。
      
    Properties类:针对属性文件(*.properties,内容是name=value,都是作为键值对出现)进行操作,在java.util包下  (J2ME中不支持)
      load(InputStream inStream) 
                从输入流中读取属性列表(键和元素对)。
               getProperty(String key) 
                用指定的键在此属性列表中搜索属性。
  • 相关阅读:
    jstl插件使用
    IDEA配置tomcat
    Spring框架
    2020/7/17 JAVA模拟斗地主发牌洗牌
    2020/7/15 JAVA之Map接口
    2020/7/14 Java之增强for循环、泛型、List接口、Set接口
    2020/7/13 集合之ArrayList集合、Collection接口、Iterator迭代器
    2020/7/13 常用API之基本类型包装类、System类、Math类、Arrays类、大数据运算
    2020/7/11 日期相关类
    2020/7/8 JAVA总结之:匿名对象/内部类/包的声明与访问/访问修饰符/代码块
  • 原文地址:https://www.cnblogs.com/qq809306794/p/3172214.html
Copyright © 2011-2022 走看看