如何判断Inputstream 里面有没有内容
时间: 2023-12-01 22:02:33 浏览: 217
可以使用Java中的available()方法来判断InputStream中是否有内容可读。该方法返回可从输入流中读取的字节数,如果返回值为0,则表示输入流中没有可读内容。以下是一个示例代码:
```
InputStream inputStream = ...; // 假设已经有了一个InputStream对象
if (inputStream.available() > 0) {
// 输入流中有可读内容
} else {
// 输入流中没有可读内容
}
```
需要注意的是,available()方法只是返回当前输入流中的可读字节数,但并不保证在下一次读取时还有可读内容。因此,在使用InputStream时,应该在读取之前先检查是否有可读内容,然后再进行读取操作。
相关问题
怎么判断inputstream里面有无数据
可以使用Java的InputStream.available()方法来获取输入流中的可用字节数,判断是否有数据。如果返回的值大于0,则说明有数据可读;如果返回的值为0,则说明当前没有数据可读;如果返回的值为-1,则说明已经到达输入流的末尾。需要注意的是,available()方法只是估算可读字节数,并不保证能够读取到这些字节。
判断inputstream的大小
要判断`InputStream`的大小,可以使用`available()`方法。该方法返回还未读取的数据的字节数,但是并不一定是整个流的大小。
如果需要准确地获取整个流的大小,可以将`InputStream`转换为`ByteArrayOutputStream`,然后使用`toByteArray()`方法获取字节数组的大小。示例代码如下:
```java
InputStream inputStream = ...;
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
byte[] data = outputStream.toByteArray();
int size = data.length;
```
阅读全文