• Java学习之IO流


    IO(Input Output)流:IO流用来处理设备之间的数据传输

    流按操作数据分为两种:字节流和字符流

    流按流向分为:输入流、输出流

    字节流的两个顶层父类:

    1、InputStream

      方法:

        int available(); 
        void close();--关闭输入流并释放与流关联的所有系统资源
        void mark(int readLimit);--标记此输入流中的当前位置
        boolean markSupported();--测试输入流是否支持mark和reset方法
        static InputStream nullInputStream()

        abstract int read();--从输入流中读取下一个数据字节
        int read(byte[] b);--从输入流中读取一定数量的字节,并将其存储到缓冲区数组b中
        int read(byte[],int off,int len);--len从输入流中读取多达字节的数据到字节数组中。
      
        byte[] readAllBytes(); --从输入流中读取所有剩余的字节。
        int readNBytes(byte[] b,int off,int len); --从输入流中将请求的字节数读取到给定的字节数组中。
        byte[] readNBytes(int len); --从输入流中读取指定数量的字节。
        void reset(); --将此流重新定位到mark在此输入流上最后一次调用该方法的位置 。
        long skip(long n);--跳过并丢弃n此输入流中的数据字节。
        void skipNBytes(long n);--跳过并完全丢弃n此输入流中的数据字节。
        long transferTo(OutputStream out);--从此输入流中读取所有字节,然后按读取顺序将字节写入给定的输出流。

    2、OutPutStream

      方法:

        void close(); --关闭此输出流并释放与此流关联的所有系统资源。
        void flush(); --刷新此输出流,并强制写出所有缓冲的输出字节。
        static OutputStream nullOutputStream();


        void write(byte[] b);--将b.length指定字节数组中的字节写入此输出流。
        void write(byte[] b,int off,int len); --将len指定字节数组中从偏移量开始的字节写入off此输出流。
        abstract void write(int b); --将指定的字节写入此输出流。

    字符流的两个顶层父类

     1、Reader

      方法:

        abstract void close();--关闭流并释放与其关联的所有系统资源。
        void mark​(int readAheadLimit);--标记流中的当前位置。
        boolean markSupported();--此流是否支持mark()操作。
        static Reader nullReader();--返回Reader不读取任何字符的新字符。
      
        int read();--读取单个字符。
        int read​(char[] cbuf);--将字符读入数组。
        abstract int read​(char[] cbuf, int off, int len);--将字符读入数组的一部分。
        int read​(CharBuffer target);--尝试将字符读入指定的字符缓冲区。
      
        boolean ready();--此流是否已准备好被读取。
        void reset();--重置流。
        long skip​(long n);--跳过字符。
        long transferTo​(Writer out);--从该读取器读取所有字符,并按照读取顺序将这些字符写入给定的写入器。

    2、Writer

      方法:

        Writer append​(char c);--将指定字符追加到此编写器。
        Writer append​(CharSequence csq);--将指定的字符序列附加到此编写器。
        Writer append​(CharSequence csq, int start, int end);--将指定字符序列的子序列追加到此编写器。
      
        abstract void close();--关闭流,先冲洗。
        abstract void flush();--冲洗流。(抽象方法需要子类实现)
      
        static Writer nullWriter();--返回一个Writer丢弃所有字符的新字符。
      
        void write​(char[] cbuf);--写一个字符数组。
        abstract void write​(char[] cbuf, int off, int len);--写入一部分字符数组。
        void write​(int c);--写一个字符。
        void write​(String str);--写一个字符串。
        void write​(String str, int off, int len);--写入字符串的一部分。

  • 相关阅读:
    使用layui报错:Uncaught TypeError: Cannot create property 'LAY_TABLE_INDEX' on number '2
    mongodb安装教程
    PDF,Word,Markdown,HTML ,Doc文件格式的相互转换
    Go To Oracle
    spark、standalone集群 (2)集群zookeeper 热备
    spark、standalone集群 (1)
    tomcat8.0部署启动
    mysql5.7以上安装
    spark单击 搭建
    自定义标签
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12124733.html
Copyright © 2020-2023  润新知