zoukankan      html  css  js  c++  java
  • JAVA流

    1.流的分类
    1.1按照数据流的方向

    输入流(Input):从文件往程序走数据

    输出流(Output):从程序往文件走数据

    1.2按照处理数据的单位不同:

    各个类型所占的字节数

    byte(1), short(2), int(4), long(8)
    float(4), double(8)
    boolean(1)
    char(2)

    字节流(以stream结尾的): 一个字节占8位, 以一个字节为单位读数据

    字符流(以Reader, Writer结尾的): 一个字节占8位, 以一个字节为单位读数据

    1.3按照功能分:
    节点流: 只有一个根管道套在文件上进行传输
    处理流: 将节点流处理一下, 增强管道的功能, 相当于在管道上套一层

    文件类  java.io.File

      基本方法:

        getName:获取文件名称

        getPath:获取文件路径

        length:获取文件大小

        isDirectory:判断这个东西是不是一个目录

        isFile:判断这个东西时不是一个文件

        listFiles:获取当前这个路径下的所有文件和文件夹 返回一个File[ ]

    二.JDK提供的流


    提供了四个基本抽象类: InputStream, OutputStream, Reader, Writer

    InputStream的基本方法:
    int read(): 每次调用这个方法, 就读取一个字节, 以整数的形式返回

    int read(byte[] buffer---缓冲区): 让流每次读满一个缓冲区, 再统一处理, 先存在缓冲区里, 返回值int是返回实际当中读取了多少字节数(伤硬盘的原理)

    int read(byte[] buffer, int offset, int length): 也是一个缓冲区, 读取length长度的字节数, 存到buffer的缓冲区里, 从buffer的offset位置开始存, 返回值是实际读了多少字节数

    close(): 关闭资源

    OutputStream的基本方法:
    void write(int b)

    void write(byte[] b)

    int write(byte[] buffer, int offset, int length)

    close()

    flush(): 将缓冲区中的文件全部写出

    在使用流的时候的一个良好的习惯, 先flush, 再close

    Reader的基本方法:
    int read()
    int read(char[] buffer---缓冲区)
    int read(char[] buffer---缓冲区, int offset, int length)
    close()

    Writer的基本方法:
    void write()
    void write(char[] buffer---缓冲区)
    void write(char[] buffer---缓冲区, int offset, int length)
    void write(String s)
    void write(String s, int offset, int length)
    close()
    flush()

       

  • 相关阅读:
    GO 文档笔记
    GO 切片实力踩坑
    关于接口设计的一些反思
    Jenkins 发布.net core 程序,服务端无法下载nuget包的解决方法 error NU1102: 找不到版本为 (>= 3.1.6) 的包
    RabbitMQ 基础概念进阶
    RabbitMQ 入门之基础概念
    Object.entries()使用
    shadow的属性值介绍
    行内元素的特别之处
    margin的特别之处
  • 原文地址:https://www.cnblogs.com/klose11/p/7009663.html
Copyright © 2011-2022 走看看