什么是 Java 中的流,以及 Java 流的类型和类?
Java 提供 I/O 流来读取和写入数据,其中流代表输入源或输出目标,可以是文件、I/O 设备或其他程序等。
一般来说,流是输入流或输出流。
- InputStream − 用于从源读取数据。
- OutputStream − 用于将数据写入目标。
根据它们处理的数据,流有两种类型:
- 字节流 − 这些流以字节 (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 {
//Creating an BufferedInputStream object
BufferedInputStream inputStream = new BufferedInputStream(System.in);
byte bytes[] = new byte[1024];
System.out.println("Enter your data ");
//Reading data from key-board
inputStream.read(bytes);
//Creating BufferedOutputStream object
FileOutputStream out= new FileOutputStream("D:/myFile.txt");
BufferedOutputStream outputStream = new BufferedOutputStream(out);
//Writing data to the file
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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP