什么是流?Java 中流的类型和类有哪些?
java 8object oriented programmingprogramming更新于 2025/9/19 20:28:17
Java 提供 I/O 流来读写数据,其中流表示输入源或输出目标,可以是文件、I/O 设备或其他程序等。
通常,流可以是输入流或输出流。
- 输入流 − 用于从源读取数据。
- 输出流 − 用于将数据写入目标。
根据处理的数据,流可分为两种类型 −
- 字节流 − 它们以字节(8 位)为单位处理数据,即字节流类读取/写入 8 位数据。使用它们,您可以存储字符、视频、音频、图像等。
- 字符流 − 它们处理 16 位 Unicode 数据。使用它们,您只能读写文本数据。
下图展示了 Java 中的所有输入和输出流(类)。

标准流
除了上述类之外,Java 还提供了 3 个标准流,分别代表输入和输出设备。
- 标准输入 −这用于通过输入设备从用户读取数据。键盘用作标准输入流,表示为 System.in。
- 标准输出 − 这用于通过输出设备将数据(结果)投射给用户。计算机屏幕用作标准输出流,表示为 System.out。
- 标准错误 − 这用于输出用户程序产生的错误数据,通常计算机屏幕用作标准错误流,表示为 System.err。
示例
以下 Java 程序使用 BufferedInputStream 从用户读取数据,并使用 BufferedOutputStream 将其写入文件。
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class BufferedInputStreamExample {
public static void main(String args[]) throws IOException {
//创建 BufferedInputStream 对象
BufferedInputStream inputStream = new BufferedInputStream(System.in);
byte bytes[] = new byte[1024];
System.out.println("输入您的数据");
//从键盘读取数据
inputStream.read(bytes);
//创建 BufferedOutputStream 对象
FileOutputStream out= new FileOutputStream("D:/myFile.txt");
BufferedOutputStream outputStream = new BufferedOutputStream(out);
//将数据写入文件
outputStream.write(bytes);
outputStream.flush();
System.out.println("Data successfully written in the specified file");
}
}
输出
Enter your data Hi welcome to Tutorialspoint .... Data successfully written in the specified file

