Java中InputStream.available()有什么作用?

2023-11-25

什么是InputStream.available() do in Java?我阅读了文档,但仍然无法理解。

医生说:

返回可以从此输入流读取(或跳过)的字节数,而不会被该输入流的方法的下一个调用者阻塞。下一个调用者可能是同一个线程或另一个线程。

InputStream 类的可用方法始终返回 0。

他们的意思是什么blocking?它只是意味着同步调用吗?

最重要的是,这样做的目的是什么available() method?


在输入流中,read()调用被称为“阻塞”方法调用。这意味着,如果在方法调用时没有可用数据,则该方法将等待数据可用。

The available()方法告诉您可以读取多少字节,直到read()call 将阻塞程序的执行流程。在大多数输入流上,都调用read()是阻塞的,这就是 available 默认返回 0 的原因。

但是,在某些流上(例如BufferedInputStream,有一个内部缓冲区),一些字节被读取并保存在内存中,因此您可以在不阻塞程序流的情况下读取它们。在这种情况下,available()方法告诉您缓冲区中保留了多少字节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中InputStream.available()有什么作用? 的相关文章

随机推荐

  • 如何在Android中播放歌曲-phonegap [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 一个月前 我开始使用phonegap html5 css3 和jQtouch 我正在开发一个应用程序 我需要在该应用程序中播放声音 我对这项任务有一个严重的问题 首先 我发现
  • asp.net sessionID 在回发时发生变化?

    我正在编写一个在缓存中存储对象的 ASP NET 应用程序 当页面第一次加载时 它会检查缓存中是否有该对象 如果存在 它将使用该对象 如果该对象不存在 它将重新构建它并将其存储在缓存中 由于多个用户可以同时使用此应用程序 因此我尝试将对象存
  • 未对齐的内存访问:是否定义了行为? [复制]

    这个问题在这里已经有答案了 考虑以下代码 include
  • 对“REST”一词及其含义的误解是什么[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 弄清楚什么是真正的 RESTful 应用程序和 或 api 并不总是那么容易 因为对 REpresentational State Transfer 架构风格的含义和范围存在某种误解 最初
  • 计算 MKMapView 中 MKPolygon 的面积

    我只是不知道如何计算 MKMapView 上的面积 有谁解决过这个问题吗 这是我的代码 但它返回太多 func ringArea gt Double var area Double 0 if templocations count gt 2
  • Strapi 路线返回 404 未找到

    我遇到一个问题 API 中的所有路由都返回404 Not found 我跟着从 Docker Hub 拉取部分位于Strapi strapi docker 除了运行图像之外 我所做的是创建一个名为的新内容类型post包含三个字段 如果我尝试
  • 当用户正在编写时,如何在 RichTextBox 中使用不同的颜色为不同的单词着色,并在单击该彩色文本时引发事件

    当用户在富文本框中写入一些单词时 如果该单词与某个特定单词匹配 则该单词的颜色应该自动更改 当用户单击特定的彩色文本时 它应该引发一个事件 鉴于要求 1 用户在 RichTextBox 控件中插入一些文本 2 如果输入的单词是预定义单词列表
  • AngularJS从属性文件中读取

    在 angularJS 中 如何从属性文件中读取值 connection properties url http localhost 8080 user me get GET post POST 应用程序 js var app angula
  • Node.js如何在快速路由中使用socket.io

    在我的 node js 脚本之一中 我尝试在快速路由中使用 socket io 我发现了很多类似的问题 并尝试按照建议实施解决方案 但没有任何结果 可能是因为我对快递路线不了解 我点击了下面的链接 如何在 Node js 的快速路由中使用
  • JSX (React) 中的花括号意味着什么?

    例如 要在反应中设置样式 您可以这样做 var css color red and h1 Hello world h1 为什么第二个代码片段中的 css 需要大括号 大括号是一种特殊的语法 让 JSX 解析器知道它需要将它们之间的内容解释为
  • Javascript 警报和 php 标头

    我遇到了一个小问题 当我得到没有标题的 PHP 脚本时 一切都很好 我收到了 javascript 警报框 但是当我在警报之前使用标题时它不起作用 它按应有的方式重定向我 但没有显示任何框 有人可以帮助我吗 if pkt lt 1 OR u
  • C/C++ 中的任意大小整数

    Question 有没有办法使用 c c 创建任意大小的整数 例如 int main void Int i Int 3 3 bit integer i 1 Represented as 001 Bonus 有没有办法对浮动值执行相同的操作
  • @AppStorage 变量上出现“调用初始化程序时没有完全匹配”错误?

    我收到以下错误 No exact matches in call to initializer on my 应用存储下面的变量 模型 swift class UserSettings ObservableObject AppStorage
  • 如何在 php 中组合 2 个关联数组,以便在所有情况下都不会覆盖任何重复的条目?

    我有两个关联数组 它们有许多相同的内容 所以我想以这样的方式组合这两个数组 如果我有a在数组 1 和a在数组 2 中比在数组 3 中我应该有两个条目a s而不是 1 我尝试过使用 array merge 但如果第二个数组中有任何重复项 它会
  • rmagick 有没有办法转换内存中的图像

    From Rmagick guide 将图像转换为另一种格式 将图像转换为另一种格式就像编写 图像到文件 ImageMagick 使用输出文件名suffix jpg for JPEG gif for GIF for example or p
  • 在 shell 中一行运行多个命令

    说我有一个文件 templates apple我想要 把它放在两个不同的地方 然后 删除原件 So templates apple将被复制到 templates used AND templates inuse然后我想删除原来的 Is cp
  • gdb 中的 是否有问题?

    我有一个仅在 O2 优化中崩溃的应用程序 使用 gcc 4 2 4 编译 当我单步执行代码并到达崩溃的位置并尝试检查该值时 我在 gdb 中得到了 优化后的值 我在互联网上读到这意味着该值存储在寄存器中 我想知道我的崩溃是否可能与某些信息放
  • 您应该能够分配多少内存?

    背景 我正在编写一个处理大量地理数据的 C 程序 并希望一次性加载大块进行处理 我只能使用为 32 位机器编译的应用程序 我正在测试的机器运行 64 位操作系统 Windows 7 并拥有 6 GB 内存 使用 MS VS 2008 我有以
  • JSON 文件 - Java:编辑/更新字段值

    我的工作流程中有一些 JSONObject 并且通过将它们写入 json 文件来存储相同的 JSONObject 我想要一种有效的方法来更新 json 文件 仅在需要的字段 包含较新的 JSONObjects 实例的内容 Eg 我的档案里有
  • Java中InputStream.available()有什么作用?

    什么是InputStream available do in Java 我阅读了文档 但仍然无法理解 医生说 返回可以从此输入流读取 或跳过 的字节数 而不会被该输入流的方法的下一个调用者阻塞 下一个调用者可能是同一个线程或另一个线程 In