在Java中,OutputStream 和 InputStream 是用于处理字节数据的抽象类。它们是Java IO库中最基本的输入输出流类,用于处理二进制数据。
OutputStream 类表示输出字节流,用于向目标写入字节数据。InputStream 类表示输入字节流,用于从源读取字节数据。
下面是关于 OutputStream 和 InputStream 的一些基本操作示例:
- 使用 OutputStream 写入数据:
import java.io.FileOutputStream;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
try {
// 创建 FileOutputStream 对象,指定要写入的文件路径
OutputStream outputStream = new FileOutputStream("output.txt");
// 要写入的数据
String data = "Hello, world!";
// 将字符串转换为字节数组
byte[] byteData = data.getBytes();
// 写入数据
outputStream.write(byteData);
// 关闭输出流
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码使用 FileOutputStream 创建了一个输出流对象,并将要写入的文件名指定为 “output.txt”。然后,通过 write() 方法将字节数组写入到输出流中,最后关闭输出流。
- 使用 InputStream 读取数据:
import java.io.FileInputStream;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
try {
// 创建 FileInputStream 对象,指定要读取的文件路径
InputStream inputStream = new FileInputStream("input.txt");
// 创建一个缓冲区用于读取数据
byte[] buffer = new byte[1024];
// 从输入流中读取数据到缓冲区
int bytesRead = inputStream.read(buffer);
// 将字节数组转换为字符串
String data = new String(buffer, 0, bytesRead);
// 输出读取到的数据
System.out.println(data);
// 关闭输入流
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述代码使用 FileInputStream 创建一个输入流对象,并将要读取的文件名指定为 “input.txt”。然后,通过 read() 方法从输入流中读取数据到缓冲区中,最后将字节数组转换为字符串并输出。
OutputStream 和 InputStream 提供了许多其他方法,如 flush()、close()、available()、skip() 等等,用于处理不同的输入输出需求。