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对象表示的文件中写入数据的文件输出流。(参数意思是文件)
字节输出流的使用步骤:
- 创建一个FileOutputStream对象,构造方法中传递写入数据的目的地。
- 调用方法write,把数据写入到文件中。
- 释放资源。
字节输出流的使用示例:
public class Fos{
public static void main(String[]args) throws IOException {
//1.先创建一个对象,传入文件的路径
FileOutputStream fos=new FileOutputStream("D:/a.txt");
//2.写入一个字节的数据
fos.write(88);
//3.释放资源
fos.close();
}
}