zoukankan      html  css  js  c++  java
  • IO流:原理、流的分类、体系结构

    Java IO原理

     I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于
    处理设备之间的数据传输。如读/写文件,网络通讯等。
     Java程序中,对于数据的输入/输出操作以 “流(stream)” ” 的
    方式进行。
     java.io包下提供了各种“流”类和接口,用以获取不同种类的
    数据,并通过 标准的方法输入或输出数据。

     输入input: :读取外部数据(磁
    盘、光盘等存储设备的数据)到
    程序(内存)中。
     输出output: :将程序(内存)
    数据输出到磁盘、光盘等存储设
    备中。

     字符流和字节流的区别:字节流操作的基本单元为字节,字符流操作的基本单元为unicode码元;字节流默认不使用缓冲区,字符流使用缓冲区。

     IO  流体系

     

    InputStream & Reader
    InputStream 和 Reader 是所有 输入流的基类。
    InputStream(典型实现:FileInputStream)
    int read()
    int read(byte[] b)
    int read(byte[] b, int off, int len)
    Reader(典型实现:FileReader)
    int read()
    int read(char [] c)
    int read(char [] c, int off, int len)
    程序中打开的文件 IO 资源不属于内存里的资源,垃圾回收机制无法回收该资
    源,所以应该件 显式关闭文件 IO 资源。
    FileInputStream 从文件系统中的某个文件中获得输入字节。FileInputStream
    用于读取非文本数据之类的原始字节流。要读取字符流,需要使用 FileReader


    InputStream
     int read()
    从输入流中读取数据的下一个字节。返回 0 到 255 范围内的 int 字节值。如果因
    为已经到达流末尾而没有可用的字节,则返回值 -1。
     int read(byte[] b)
    从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。如果因为已
    经到达流末尾而没有可用的字节,则返回值 -1。否则以整数形式返回实际读取
    的字节数。
     int read(byte[] b, int off,int len)
    将输入流中最多 len 个数据字节读入 byte 数组。尝试读取 len 个字节,但读取
    的字节也可能小于该值。以整数形式返回实际读取的字节数。如果因为流位于
    文件末尾而没有可用的字节,则返回值 -1。
     public void close() throws IOException
    关闭此输入流并释放与该流关联的所有系统资源。

     

     

     

     

     

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    SpringMVC
    Spring mvc 下Ajax获取JSON对象问题 406错误
    Docker国内镜像源
    获取redis cluster主从关系
    终端登录超时限制暂时解除
    vim全选,全部复制,全部删除
    [转]Redis集群搭建
    Jenkins持续集成01—Jenkins服务搭建和部署
    ELK重难点总结和整体优化配置
    ELK 经典用法—企业自定义日志收集切割和mysql模块
  • 原文地址:https://www.cnblogs.com/CCTVCHCH/p/14873874.html
Copyright © 2011-2022 走看看