Java的字节流是一种用于处理二进制数据的输入输出流。它提供了一种以字节为单位读写数据的方法,可以方便地处理各种类型的文件,包括文本文件、图片文件、音频文件等。
在Java中,我们可以使用java.io包中的类来操作字节流。以下是一些常用的字节流类:
- FileInputStream:用于将文件内容读取到字节数组中。
- FileOutputStream:用于将字节数组写入文件。
- ByteArrayInputStream:用于将字节数组转换为输入流。
- ByteArrayOutputStream:用于将输入流的内容写入字节数组。
- DataInputStream:用于从输入流中读取基本数据类型(如int、float等)。
- DataOutputStream:用于向输出流中写入基本数据类型。
- ObjectInputStream:用于从输入流中读取对象。
- ObjectOutputStream:用于向输出流中写入对象。
以下是一个简单的示例,演示如何使用 FileInputStream和FileOutputStream 读取和写入文件:
import java.io.*;
public class ByteStreamExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}