Java IO的原理 入门理解,input和output和java程序的关系

Java IO的原理 入门理解,input和output和java程序的关系

    • 1.Java IO的原理
    • 2.input和output的理解
    • 3.IO流的分类
    • 4.IO流体系(蓝色为重点、常用)
    • 5.. InputStream 与 Reader的区别和注意点
    • 6.OutputStream 和Writer的注意点和区别
    • 7.各种类型的IO流的用法

1.Java IO的原理

  1. IO流用来处理设备之间的数据传输
  2. Java程序中,对于数据的输入或者输出操作都是以“流(stream)”的方式来进行的
  3. java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输出或者输出数据

2.input和output的理解

  1. 输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中
  2. 输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中
  3. 从网络中读取或者输出也是一样的概念

Java IO的原理 入门理解,input和output和java程序的关系_第1张图片
5. Java IO的原理 入门理解,input和output和java程序的关系_第2张图片

3.IO流的分类

  1. 按操作数据单位不同分为:字节流(8bit),字符流(16bit)(处理文本文件)
  2. 按照数据流的流向不同分为:输入流,输出流
  3. 按流的角色不同分为:节点流(文件流–>直接作用于文件),处理流
(抽象基类) 字符流 字节流
输入流 Reader InputStream
输出流 Write OutputStream
  1. Java的IO流共涉及40多个类,实际上非常有规则和规律,都是从上表中的4个抽象基类派生的
  2. 由这4个类派生出来的子类名称都是以其父类名作为子类名的后缀
  3. 流的分类结构图,注:中间的矩形为一层包一层的。
    Java IO的原理 入门理解,input和output和java程序的关系_第3张图片

4.IO流体系(蓝色为重点、常用)

Java IO的原理 入门理解,input和output和java程序的关系_第4张图片

5… InputStream 与 Reader的区别和注意点

  1. InputStream 和 Reader 是所有输入流的基类。
  2. InputStream(典型实现:FileInputStream)
    int read()
    int read(byte[] b)
    int read(byte[] b, int off, int len)
  3. Reader(典型实现:FileReader)
    int read()
    int read(char [] c)
    int read(char [] c, int off, int len)
  4. 程序中打开的文件 IO 资源不属于内存里的资源,垃圾回收机制无法回收该资源,所以应该显式关闭文件 IO 资源。

6.OutputStream 和Writer的注意点和区别

  1. OutputStream 和 Writer 也非常相似:
    void write(int b/int c);
    void write(byte[] b/char[] cbuf);
    void write(byte[] b/char[] buff, int off, int len);
    void flush();
    void close(); 需要先刷新,再关闭此流
  2. 因为字符流直接以字符作为操作单位,所以 Writer 可以用字符串来替换字符数组,即以 String 对象作为参数
    void write(String str);
    void write(String str, int off, int len);

7.各种类型的IO流的用法

  1. 节点流(文件流) FileInputStream、FileOuputStrea、FileReader、FileWriter的用法(实现文件的复制)点击节点流用法
  2. 点击进入File类的用法
  3. 点击进入缓冲流,实现文件的复制和注意点
  4. 点击进入 JavaIO转换流的使用和注意点(实现字节流和字符流之间的转换)
  5. 点击进入 Java IO 处理流之:标准输入输出流
  6. 点击进入 Java IO 处理流之:打印流 和 数据流用法
  7. 点击进入 Java IO流 对象流的使用和序列化的注意点
  8. 点击进入 Java IO RandomAccessFile (随机访问流)类随机访问的使用细节详解

你可能感兴趣的:(Java IO的原理 入门理解,input和output和java程序的关系)