什么是 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
广告