InputStream.read具体用法
时间: 2023-10-25 17:04:55 浏览: 44
InputStream.read() 方法是用来读取输入流中的字节数据的。它的具体用法如下:
1. 读取单个字节:
```
int b = inputStream.read();
```
该方法会从输入流中读取一个字节,如果已经到了流的末尾,它会返回-1。
2. 读取字节数组:
```
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
```
该方法会从输入流中读取最多 buffer.length 个字节,并将其存储在 buffer 数组中。它返回实际读取的字节数。如果已经到了流的末尾,它会返回-1。
3. 读取部分字节数组:
```
byte[] buffer = new byte[1024];
int offset = 0;
int length = 1024;
while (length > 0) {
int bytesRead = inputStream.read(buffer, offset, length);
if (bytesRead == -1) {
break;
}
offset += bytesRead;
length -= bytesRead;
}
```
该方法会从输入流中读取最多 length 个字节,并将其存储在 buffer 数组中,从偏移量 offset 开始存储。它返回实际读取的字节数。如果已经到了流的末尾,它会返回-1。
4. 关闭输入流:
```
inputStream.close();
```
该方法会关闭输入流并释放与之相关的资源。如果输入流已经关闭,它会抛出一个 IOException 异常。因此,在使用完输入流后,应该及时关闭它。