判断InputStream是否为空
时间: 2023-10-25 14:21:10 浏览: 179
可以通过以下方式判断InputStream是否为空:
1. 使用available()方法判断InputStream是否还有数据可读:
```java
if(inputStream.available() == 0){
// InputStream为空
}
```
2. 使用markSupported()方法判断InputStream是否支持mark和reset操作,如果不支持,则无法判断InputStream是否为空:
```java
if(inputStream.markSupported()){
try{
inputStream.mark(1); // 标记当前位置
if(inputStream.read() == -1){
// InputStream为空
}
inputStream.reset(); // 重置到标记位置
}catch(IOException e){
// 处理异常
}
}else{
// InputStream不支持mark和reset操作
}
```
3. 使用BufferedInputStream包装InputStream,利用BufferedInputStream的available()方法判断InputStream是否为空:
```java
BufferedInputStream bis = new BufferedInputStream(inputStream);
if(bis.available() == 0){
// InputStream为空
}
```
阅读全文