• java IO流


    输入流和输出流:往程序中读入的流就是输入流(InputStream和Reader的子类),从程序写出到其他介质的流就是输出流(OutputStream和Writer的子类)。
    节点流和处理流:节点流为直接操作外部介质的类如 FileOutputStream,FileInputStream,FileWriter,FileReader等。处理流为套接在节点流上的流如缓冲 流BufferedInputStream,BufferReader,数据流DateInputStream,DateOutputStream,转换 流InputStreamReader。
    字节流和字符流:以stream结尾的都为字节流。
     
     
     
    范围:ascll:0-126       unicode:0-65535
    原来很多国家和地区都有自己的编码:gbk,gb2312等,不统一。Unicode则统一了全世界文字的编码,一个字符占两个字节。
    java中用的是unicode,一个字符占两个字节,16位.
    char(字符)类型使用国际通用的16位Unicode字符集,所以能自动表达大多数国家的字符。  
    String 字串里的每个字符都是16位,或者说2个字节、长整数,以便提供对Unicode字符的支持。
     
     
     
    Java所提供的所有流类型位于包java.io内,且都分别继承自以下四种抽象流类型。
     
    简单理解这四个抽象类就是:写出,读入(写出,读入都是以程序为参考物的)
    区别:InputStream的int read()方法的返回值范围为0-255(字节)
          Reader的int read()方法的返回值范围为0-65535(字符)
             OutputStream和Writer的write()方法的区别看API,写得很详细。
     
     
    下面分别介绍这四个抽象类:
    InputStream:继承自InputStream 的流都是用于向程序中输入数据,且数据的单位为字节(8bit)[这些类中的read()方法获取的都是unicode码(两字节,16位),因此对于 ascll码中的字符可以正确读取,因为他们的unicode码和ascll 码是一样的(unicode码前一个字节为0,后一个字节则为相应的ascll码)。但是不能读取汉字,因为汉字的unicode码大于256,占两个字 节].
     
     
    OutputStream:继承自OutputStream的流都是用于向程序中输出数据,且数据的单位为字节(8bit)
     
     
    Reader:继承自Reader的流都是用于向程序中输入数据,且数据的单位为字符(16bit)
     
     
    Writer:继承自Writer的流都是用于程序中输出数据,且数据的单位为字符(16bit)
     
    以上为对IO的总体概述,后续会写出一些类的例子。

    本文出自,请务必保留此出处http://java999.blog.51cto.com/259217/159843

  • 相关阅读:
    tomcat启动与关闭脚本
    SqlAlchemy ORM
    python之socket
    python异常处理
    python常用模块
    PYTHON之文件操作
    Linux系统Load average负载详细解释
    tomcat报错:This is very likely to create a memory leak问题解决
    springcloud第一步:创建eureka注册服务
    SpringCloud微服务高级
  • 原文地址:https://www.cnblogs.com/jsStudyjj/p/5331831.html
走看看 - 开发者的网上家园