java如何快速判断inputstream有没有数据
时间: 2024-09-14 07:15:09 浏览: 40
解析Java的InputStream类并借助其读取ppt文件
在Java中,可以使用`InputStream`的`available()`方法来快速检查输入流是否有可用的数据。这个方法会返回当前流中剩余字节数,如果返回值大于0,就表示有数据。但是请注意,`available()`并不保证一定能读取到数据,它只是提供了一个估计。
以下是示例代码:
```java
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
int availableBytes = inputStream.available();
if (availableBytes > 0) {
System.out.println("Input stream has data.");
} else {
System.out.println("Input stream is empty or not ready.");
}
```
另外,如果你需要立即读取数据,而不是仅仅检查是否存在,你可以尝试读取一两个字节并处理可能出现的异常,如`IOException`:
```java
try {
int firstByte = inputStream.read();
if (firstByte != -1) { // `-1`通常表示到达流结束
System.out.println("Input stream has data.");
} else {
System.out.println("Input stream is empty.");
}
} catch (IOException e) {
e.printStackTrace();
}
```
阅读全文