判断inputstream的大小
时间: 2023-08-09 19:10:37 浏览: 196
要判断`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;
```
相关问题
怎么判断inputstream大小
可以使用Java的InputStream.available()方法来获取输入流的可用字节数,从而判断输入流的大小。这个方法返回的是输入流中可以被读取的字节数,但并不总是准确的,因为它取决于底层的实现方式。如果你需要精确的大小,可以使用文件长度或者通过读取流的方式来计算。以下是使用available()方法来获取输入流大小的示例代码:
```java
InputStream inputStream = new FileInputStream("file.txt");
int size = inputStream.available();
System.out.println("输入流大小为:" + size + " 字节");
```
需要注意的是,available()方法返回的是int类型,如果输入流的大小超过了int的最大值,那么这个方法将会返回一个错误的值,因此在处理大文件时需要使用其他方法来获取文件大小。
java判断inputstream的大小
可以使用available()方法来判断InputStream的大小。available()方法返回当前可读取的字节数,因此可以根据返回值来确定InputStream的大小。例如:
```java
InputStream inputStream = new FileInputStream(new File("test.txt"));
int fileSize = inputStream.available();
System.out.println("文件大小为:" + fileSize + "字节");
```
注意,available()方法只能保证返回的是当前可读取的字节数,不一定是InputStream的总大小。因此,如果需要精确地获取InputStream的大小,可以将InputStream的字节读取到一个缓冲区中,然后统计缓冲区中的字节数。
阅读全文