• 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);--写入字符串的一部分。

  • 相关阅读:
    序列化-请求数据校验。。。。。。
    python自动化测试-D5-学习笔记之二(常用模块之加密模块)
    python自动化测试-D5-学习笔记之二(常用模块之os,sys,random,string,time)
    python自动化测试-D5-学习笔记之二(常用模块之json模块)
    python自动化测试-D5-学习笔记之一(argv的使用)
    python自动化测试-D5-学习笔记之一(函数补充,内置函数,map,filter,eval)
    python习题:写一个函数打印两个字典中不一样的key和value
    python习题:用文件方式编写购物车程序,添加,查看和删除
    python习题:时间格式转换
    python习题:双色球
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12124733.html
Copyright © 2020-2023  润新知