java inputstream长度_Java InputStream.available获取数据流字节长度大小

本文介绍了Java中InputStream类的available()方法,该方法用于获取输入流中可读取的字节数。虽然它可能返回小于实际可用字节的值,并且在网络操作中可能不准确,但它在某些情况下仍能提供有用的信息。请注意,该方法需要在子类中实现才能获得准确结果,否则返回值始终为0。如果输入流已被关闭,调用available()将抛出IOException。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首页 > 基础教程 > IO流 > InputStream类

Java InputStream.available获取数据流字节长度大小

定义

public int available()

返回

在不阻塞的情况下数据流里有多少个字节可以读取

异常

IOException:I/O 错误

总结

实例

public static void main(String[] args) throws Exception

{

InputStream is = null;

try

{

InputStream is = new FileInputStream("C://51gjie.txt");

System.out.println("len: " + is.available());

}

catch(Exception e)

{

}

finally

{

if(is != null) is.close();

}

}

1. 返回可以从此输入流读取(或跳过)而不会被该输入流的方法的下一次调用阻塞的字节数的估计值。 下一个调用可能是同一线程或另一个线程。 仅读取或跳过此多个字节不会阻塞,但可能会读取或跳过较少的字节。

2. 如果这个方法用在从本地文件读取数据时,一般不会遇到问题,但如果是用于网络操作,就经常会遇到一些麻烦。比如,Socket通讯时,对方明明发来了10240个字节,但是自己的程序调用available()方法却只得到800,或者1024,甚至是0。

3. available这个方法一定要在子类中实现,如果实现了那么就可以取得大小,如果没有实现获取就一直是0。

4. 如果已经调用close()方法关闭了此输入流,调用此方法会抛出IOException异常。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值