阅读量:0
Java中的InputStream是一个抽象类,用于从数据源(如文件、网络连接等)中读取字节流。它提供了一系列的方法来读取不同类型的数据。
以下是InputStream的一些常用方法:
- int read():从输入流中读取一个字节的数据,并返回该字节的值(以整数形式)。
- int read(byte[] b):从输入流中读取最多b.length个字节的数据,并将其存储在字节数组b中。返回实际读取的字节数,如果已经到达输入流的末尾,则返回-1。
- int read(byte[] b, int off, int len):从输入流中读取最多len个字节的数据,并将其存储在从偏移量off开始的字节数组b中。返回实际读取的字节数,如果已经到达输入流的末尾,则返回-1。
- long skip(long n):从输入流中跳过n个字节的数据,返回实际跳过的字节数。
- int available():返回在不阻塞情况下可以从输入流中读取的字节数。
- void close():关闭输入流,释放与之关联的资源。
使用InputStream的一般步骤如下:
- 创建InputStream的具体实现类的对象,如FileInputStream、ByteArrayInputStream等。
- 调用read()或read(byte[] b)等方法读取数据,并进行相应的处理。
- 在读取完数据后,关闭输入流,释放资源。
示例代码如下:
try { InputStream inputStream = new FileInputStream("input.txt"); int data = inputStream.read(); while (data != -1) { // 处理读取到的数据 System.out.println(data); data = inputStream.read(); } inputStream.close(); } catch (IOException e) { e.printStackTrace(); }
注意:在使用InputStream时,需要注意异常处理和资源的释放,可以使用try-catch-finally语句块来确保资源的正确释放。