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

1.Java IO的原理

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

2.input和output的理解

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

5.

3.IO流的分类

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

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

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. 点击进入
  3. 点击进入
  4. 点击进入
  5. 点击进入
  6. 点击进入
  7. 点击进入
  8. 点击进入
经验分享 程序员 微信小程序 职场和发展