1.什么是IO流?

  • I就是Input(输入:读取)
  • O就是Output(输出:写入)
  • :数据的意思(1个字符=2个字节,一个字节=8个二进制位) :::info 输入:就是把硬盘中的数据读取到内存中。
    输出:把内存中的数据写入到硬盘中。 :::

总结:
Java IO通过 java.io 包下的类和接口来支持。主要包括输入和输出两种IO流。
每种输入、输出流又可以分为:

  • 字符流
  • 字节流 | | 输入流 | 输出流 | | :—-: | :—-: | :—-: | | 字节流 | 字节输入流
    InputStream | 字节输出流
    OutputStream | | 字符流 | 字符输入流Reader | 字符输出流
    Writer |

表中展示了每个流的顶级父类

2.字节流

一切文件数据都是以2进制的方式存储。所以字节流可以传输任意的文件数据。不过无论使用什么流对象,底层传输的都是二进制数据。

2.1 字节输出流

顶级父类: java.io.OutputStream

顶级父类是一个抽象类,是输出字节流所有类的超类。

方法摘要:

void close( ) 关闭此输出流并释放所有有关的系统资源
void flush( )
void write(byte[] b)
void write(byte[] b, int off, int len)
abstract void write(int b)

2.2 FileOutputStream

文件字节输出流。是OutputStream的一个子类

作用:把内存中的数据写入到硬盘的文件中。

类中的构造方法

  • FileOutputStream(String name) :创建一个向指定名称的文件中写入数据的文件输出流。(参数意思是文件的路径)
  • FileOutputStream(File file) :创建一个向指定File对象表示的文件中写入数据的文件输出流。(参数意思是文件)

字节输出流的使用步骤

  1. 创建一个FileOutputStream对象,构造方法中传递写入数据的目的地。
  2. 调用方法write,把数据写入到文件中。
  3. 释放资源。

字节输出流的使用示例

  1. public class Fos{
  2. public static void main(String[]args) throws IOException {
  3. //1.先创建一个对象,传入文件的路径
  4. FileOutputStream fos=new FileOutputStream("D:/a.txt");
  5. //2.写入一个字节的数据
  6. fos.write(88);
  7. //3.释放资源
  8. fos.close();
  9. }
  10. }