【发布时间】:2013-06-21 12:06:29
【问题描述】:
直接来自API:
公共 int 可用() 抛出 IOException
返回可读取的字节数的估计值(或 跳过)从此输入流中没有被下一个阻塞 为此输入流调用方法。下一次调用 可能是同一个线程或另一个线程。单次阅读或跳过 这么多字节不会阻塞,但可以读取或跳过更少的字节。
请注意,虽然 InputStream 的某些实现会返回 流中的总字节数,很多不会。它从来不是 正确使用此方法的返回值分配缓冲区 旨在保存此流中的所有数据。
这个方法的一个子类的实现可以选择抛出一个 如果此输入流已通过调用 close() 方法。
InputStream 类的可用方法总是返回 0。
这个方法应该被子类覆盖。
我不能完全掌握这种方法的可能用法的概念。任何人都可以举一个现实生活中的例子吗? 提前致谢。
【问题讨论】:
-
我一般不使用它,因为它的确切行为取决于上下文和操作系统以及您无法始终控制的其他事物。如果你能避免使用我会。