inputstream read

admin 35 0

`InputStream` 是 Java 中的一个抽象类,用于表示字节输入流的所有类的超类,它是 Java I/O 库中的一个核心组件,用于从各种源(如文件、网络连接等)读取字节数据。

`read()` 是 `InputStream` 类中的一个方法,用于从输入流中读取下一个数据字节,这个方法返回读取的字节作为 `int` 类型的值(0 到 255),如果因为已经到达流末尾而没有可用的字节,则此方法返回 `-1`。

下面是一个简单的示例,演示如何使用 `InputStream` 和 `read()` 方法从一个文件中读取数据:

import java.io.*;

public class InputStreamExample {
    public static void main(String[] args) {
        File file = new File("example.txt");
        try (InputStream inputStream = new FileInputStream(file)) {
            int byteRead;
            while ((byteRead = inputStream.read()) != -1) {
                System.out.print((char) byteRead);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们创建了一个 `FileInputStream` 对象来从名为 "example.txt" 的文件中读取数据,我们使用一个循环调用 `read()` 方法,直到它返回 `-1`(表示已经到达文件末尾),在每次迭代中,我们都将读取的字节转换为字符并打印出来。

`read()` 方法每次只读取一个字节,如果你需要读取更多的数据,你可能需要使用其他方法,如 `read(byte[] b)`,它可以读取多个字节并将它们存储在一个字节数组中。