Java 通过 Streams 执行 I/O。一个 Stream 通过 java I/O 系统链接到一个物理层,在 java 中进行输入和输出操作。流可以定义为数据序列。InputStream 用于从源读取数据,OutputStream 用于将数据写入目标。InputStream 和 OutputStream 是 Java 中的基本流类。
为了对二进制文件执行读写操作,我们需要一种机制来读取文件上的二进制数据/写入二进制数据(即以字节的形式)。这些类能够在二进制文件上读取和写入一个字节。这就是我们使用流类的原因。
字节流:它提供了一种方便的方式来处理字节的输入和输出。
字符流:它为处理字符的输入和输出提供了一种方便的方法。字符流使用Unicode,因此可以国际化。
字节流类用于从输入流中读取字节并将字节写入输出流。
InputStream 类 - 这些类是抽象类 InputStream 的子类,它们用于从源(文件、内存或控制台)读取字节。
OutputStream 类 - 这些类是抽象类 OutputStream 的子类,它们用于将字节写入目标(文件、内存或控制台)。
字符流也是通过使用层次结构顶部的两个抽象类来定义的,它们是 Reader 和 Writer。这两个抽象类有几个处理 Unicode 字符的具体类。
阅读器类:定义字符流输入的抽象类。
Writer classes:定义字符流输出的Java抽象类。
例子:
导入 java.io.BufferedInputStream;
导入 java.io.BufferedOutputStream;
导入 java.io.FileOutputStream;
导入 java.io.IOException;
public class BufferedInputStreamExample {
public static void main(String args[]) throws IOException {
//创建一个 BufferedInputStream 对象
BufferedInputStream inputStream = new BufferedInputStream(System.in);
字节字节[] = 新字节[1024];
System.out.println("请输入您的数据");
//从键盘读取数据
inputStream.read(bytes);
//创建BufferedOutputStream对象
FileOutputStream out= new FileOutputStream("D:/sample.txt");//写入文件
BufferedOutputStream outputStream = new BufferedOutputStream(out);
//将数据写入文件
outputStream.write(bytes);
outputStream.flush();
System.out.println("数据成功写入指定文件");
}
}
/*OUTPUT:
Enter your data
Hi welcome to Java
数据成功写入指定文件 */
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习