InputStream字节输入流
InputStream字节输入流
InputStream (抽象类)
├── FileInputStream
├── ByteArrayInputStream
├── PipedInputStream
├── FilterInputStream
│ ├── BufferedInputStream
│ ├── DataInputStream
│ └── PushbackInputStream
├── ObjectInputStream
└── SequenceInputStream
InputStream 是 Java 中用于读取字节数据的抽象类,它是所有字节输入流的基类。InputStream 提供了从输入源(如文件、网络连接、内存等)读取字节数据的基本方法
常用方法
-
int read()
-
从输入流中读取一个字节的数据
-
返回值: 返回读取的字节(0 到 255 之间的整数)。如果到达流的末尾,则返回 -1
InputStream input = new FileInputStream("example.txt"); int data = input.read(); // 读取一个字节 while (data != -1) { System.out.print((char) data); // 将字节转换为字符并打印 data = input.read(); // 继续读取下一个字节 } input.close();
-
-
int read(byte[] b)
-
从输入流中读取一定数量的字节,并将其存储到字节数组 b 中
-
返回值: 返回实际读取的字节数。如果到达流的末尾,则返回 -1
InputStream input = new FileInputStream("example.txt"); byte[] buffer = new byte[1024]; // 创建一个缓冲区 int bytesRead = input.read(buffer); // 读取数据到缓冲区 while (bytesRead != -1) { System.out.write(buffer, 0, bytesRead); // 处理读取的数据 bytesRead = input.read(buffer); // 继续读取 } input.close();
-
-
void close()
- 关闭输入流并释放与之关联的系统资源
- 使用完流后必须调用此方法,以避免资源泄漏
InputStream 的常用子类
FileInputStream: 用于从文件中读取字节数据BufferedInputStream: 提供缓冲功能,提高读取效率ObjectInputStream: 用于读取对象(反序列化)

浙公网安备 33010602011771号