• I/O流


    1.I/O流
    1.1 基本概念
    I/O就是Input/Output的简写,也就是输入/输出的含义。
    I/O流主要指像流水一样源源不断进行读写的状态/过程。

    1.2 基本分类
    以数据读写的单位不同分为:字节流 和 字符流。
    其中字节流主要指以字节为基本单位进行读写的流,可以用于读写任何类型的文件。
    其中字符流主要指以字符(2个字节)为基本单位进行读写的流,只能用于读取文本文件。

    以数据流动方向的不同分为:输入流 和 输出流(站在程序的角度)。
    其中输入流主要指从文件中读取数据内容输入到程序的内部。
    其中输出流主要指将程序中的数据内容输出到文件中,也就是写入到文件。

    1.3 I/O流的框架
    字节流的顶层父类:InputStream类 和 OutputStream类 - 抽象类
    其中InputStream类的常见子类:
    FileInputStream类、DataInputStream类、ObjectInputStream类
    其中OutputStream类的常见子类:
    FileOutputStream类、DataOutputStream类、ObjectOutputStream类

    字符流的顶层父类:Reader类 和 Writer类 - 抽象类
    其中Reader类的常见子类:
    BufferedReader类、InputStreamReader类
    其中Writer类的常见子类:
    BufferedWriter类、OutputStreamWriter类

    补充:
    java.io.PrintStream类是OutputStream类的间接子类。

    1.4 FileOutputStream类(重中之重)
    (1)基本概念
    java.io.FileOutputStream类主要用于将图像数据之类的原始字节流写入输出流中。

    (2)常用的方法
    FileOutputStream(String name) - 根据参数指定的文件名来构造对象。
    FileOutputStream(String name, boolean append) - 用于以追加的方式来构造对象。
    void write(int b) - 用于写入单个字节数据。
    void write(byte[] b, int off, int len)
    - 用于将byte数组b中从off位置开始的len个字节写入输出流。
    void write(byte[] b)
    - 用于将byte数组中的所有内容写入输出流。
    void close() - 用于关闭流并释放有关资源。

    1.5 FileInputStream类(重中之重)
    (1)基本概念
    java.io.FileInputStream类用于从输入流中读取图像数据之类的原始字节流。

    (2)常用的方法
    FileInputStream(String name) - 根据参数指定的文件名来构造对象。
    int read() - 用于从输入流中读取一个字节的数据。
    - 若读取到文件末尾则返回-1,否则返回实际读取到的字节数据。
    int read(byte[] b, int off, int len)
    - 用于读取len个字节放入到数组b中从下标off开始的位置。
    int read(byte[] b)
    - 用于读取b.length个字节放入数组b中。
    - 当返回-1时表示已经读取到文件的末尾,否则返回实际读取到的字节个数。
    int available() - 用于获取该输入流所关联文件的大小。
    void close()

    1.6 DataOutputStream类(查手册会用即可)
    (1)基本概念
    java.io.DataOutputStream类主要用于将基本数据类型的变量写入到输出流中。

    (2)常用的方法
    DataOutputStream(OutputStream out) - 根据参数指定的引用来构造对象。
    - 其中OutputStream是个抽象类,因此实参需要传递子类的对象。
    void writeInt(int v) - 用于将参数指定的整数以4个字节形式写入,先写入高字节。
    - 如:127:0000 0000 0000 0000 0000 0000 0111 1111
    高 => 低
    void close()

    1.7 DataInputStream类(查手册会用即可)
    (1)基本概念
    java.io.DataInputStream类主要用于从输入流直接读取一个基本数据类型的数据。

    (2)常用的方法
    DataInputStream(InputStream in) - 根据参数指定引用构造对象。
    - 其中InputStream类是个抽象类,因此实参需要传递子类的对象。
    int readInt() - 用于读取一个整数并返回。
    void close()

    1.8 BufferedReader类(重点)
    (1)基本概念
    java.io.BufferedReader类主要用于读取单个字符、字符数组以及整个字符串。

    (2)常用的方法
    BufferedReader(Reader in) - 根据参数指定的引用来构造对象。
    - 其中Reader类是个抽象类,实参需要传递子类的对象。
    int read() - 用于读取单个字符并返回。
    - 当读取到末尾则返回-1,否则返回实际读取到的数据内容。
    int read(char[] cbuf, int off, int len)
    - 用于读取len个字符放入数组cbuf中下标从off开始的位置。
    int read(char[] cbuf)
    - 用于读取cbuf.length个字符放入数组cbuf中。
    String readLine() - 用于读取一行字符串内容。
    void close()

    1.9 BufferedWriter类(重点)
    (1)基本概念
    java.io.BufferedWriter类主要用于写入单个字符、字符数组以及字符串内容。

    (2)常用的方法
    BufferedWriter(Writer out) - 根据参数指定的引用来构造对象。
    - 其中Writer是个抽象类,实参需要传递子类对象。
    void write(int c) - 用于写入单个字符。
    void write(char[] cbuf, int off, int len)
    - 用于写入cbuf中从off位置开始的len个字符。
    void write(char[] cbuf)
    - 用于写入cbuf中所有的字符。
    void write(String str) - 用于写入整个字符串。
    void newLine() - 用于写入行分隔符,也就是换行符。
    void close()

    1.10 PrintStream类(重点)
    (1)基本概念
    java.io.PrintStream类主要用于更加方便地打印各种类型的数据。

    (2)常用的方法
    PrintStream(OutputStream out) - 根据参数指定的引用来构造对象。
    - 其中OutputStream类是个抽象类,实参需要传递子类的对象。
    void print(String s) - 用于打印参数指定的字符串。
    void println(String x) - 用于打印参数指定的字符串并换行。
    void close()

    不忘初心,方得始终! 坚持!坚持!坚持!!
  • 相关阅读:
    【2020-05-17】人生十三信条
    【2020-05-16】评价与骄傲
    【2020-05-15】每天都充满向上的激情
    【04NOIP普及组】火星人(信息学奥赛一本通 1929)(洛谷 1088)
    next_permutation(全排列算法)
    【03NOIP普及组】麦森数(信息学奥赛一本通 1925)(洛谷 1045)
    快速幂
    【03NOIP普及组】栈(信息学奥赛一本通 1924)(洛谷 1044)
    【06NOIP普及组】数列(信息学奥赛一本通 1937)(洛谷 1062)
    【00NOIP普及组】计算器的改良(信息学奥赛一本通 1910)(洛谷 1022)
  • 原文地址:https://www.cnblogs.com/sumboy/p/9058590.html
Copyright © 2020-2023  润新知