如何从 InputStream 读取一行而不缓冲输入? [复制]

2024-05-01

我有一个输入流,其中包含一行字符串,然后是二进制数据。

如果我使用读取该行new BufferedReader(new InputStreamReader(inputStream)),二进制数据也正在被读取并且不能被重新读取。

如何在不读取二进制数据的情况下读取一行?


*更新:似乎InputStreamReader也缓冲(提前读取):(发布了另一个直接从InputStream读取的答案。

最后手动完成了:(

我想我错过了很多像 \r 和空格这样的情况。

public static String readLine(InputStream inputStream) throws IOException {
    InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
    StringBuilder stringBuilder = new StringBuilder();
    int c;
    for (c = reader.read(); c != '\n' && c != -1 ; c = reader.read()) {
        stringBuilder.append((char)c);
    }
    if (c == -1 && stringBuilder.length() == 0) return null; // End of stream and nothing to return
    return stringBuilder.toString();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 InputStream 读取一行而不缓冲输入? [复制] 的相关文章

  • 将特定项目移至列表末尾

    我有一个ArrayList in Java deleteItem createitem exportitem deleteItems createItems 我想移动包含的所有字符串delete到列表的末尾 所以我会得到下一个 create
  • 如何找出导致 poi 损坏 xlsx / xlsm 文件的原因

    我遇到的问题是 Apache POI 仅通过读取和写入就 损坏 了 xlsm xlsx 文件 例如使用以下代码 public class Snippet public static void main String args throws
  • Eclipse 调试“未找到源”

    我刚刚开始使用 Eclipse 所以慢慢来吧 但是 当尝试调试 JUnit 测试用例时 我会收到一个对话框 指出当我在测试方法中的代码中找到此行时 未找到源代码 Assert assertEquals 1 contents size 我知道
  • 无法解析 Java 中的方法

    我有一个Question具有 4 个的对象Answer里面的物体 在 Question java 我有一个方法是 public Answer getA return a 在另一种方法中我有 if questions get randomNu
  • 将 hyperjaxb3 升级到 jpa 2.1

    我正在尝试在使用 maven jpa hibernate 和 hyperjaxb 的 eclipse 项目中升级到 JPA 2 1 当我尝试执行以下操作时出现以下错误Run As Run on Server从日食内部 java lang N
  • 如何实现可运行队列

    我正在尝试实现一个可运行队列 在异步任务期间依次执行 意味着队列中的下一个将在另一个完成后执行 我编写了一个管理器来管理这些可运行对象和本身就是可运行对象的任务 然后 我获取异步任务中的第一个任务并运行它 希望它能够在队列中运行 但是它最终
  • 多个罐子、单个持久单元解决方案?

    包括我在内的一些人一直在努力将不同模块 jar 中的实体合并到单个持久性单元中 尤其是JavaSE 例如这里JPA 2 0 自动从不同的 jar 添加实体类到 PersistenceUnit https stackoverflow com
  • 由于 maven-surefire-plugin,Maven 构建失败

    我这里有类似的问题eclipse 中缺少 maven surefire plugin https stackoverflow com questions 23588957 maven surefire plugin missing in e
  • 如何制作一个向用户显示图像而不是文本的下拉列表?

    ObjectChoiceField 字段满足我的所有要求 但它并不漂亮 这就是我所拥有的 String pets Dog Cat Duck ObjectChoiceField dd new ObjectChoiceField My Pet
  • 无法为对象堆保留足够的空间

    每次尝试运行该程序时 我都会重复出现以下异常 VM初始化期间发生错误 无法为对象堆保留足够的空间 无法创建Java虚拟机 我尝试增加虚拟内存 页面大小 和 RAM 大小 但无济于事 我怎样才能消除这个错误 运行 JVM XX MaxHeap
  • 如何在 JUnit 中缩短(或隐藏)包名称?

    我在 JUnit 中有很长的包名称 这使得很难看到正在运行哪些测试 不幸的是 使用 Eclipse 的 缩写包名称 不起作用 有没有办法隐藏或者最好缩短它们 None
  • Java编译错误:包不存在

    在我的工作区 wsPrivate 中 我有 3 个 gradle 项目 刽子手 像素视图 Reports PixelView 和 Reports 项目编译良好 然而 Hangman 使用这两个项目 并且有些在编译时找不到包 请参阅以下错误
  • 从 Java/Spring 检索 RabbitMQ 队列中未确认消息的数量

    有没有办法返回未确认的消息数 我正在使用此代码来获取队列中的消息数 DeclareOk declareOk amqpAdmin getRabbitTemplate execute new ChannelCallback
  • 需要使用自定义类而不是在 Web 服务中生成(通过 wsimport)

    您能帮忙解决以下问题吗 当生成 WS 客户端代码 使用 wsimport ant 任务 时 所有类都会在与 Web 服务相同的包 例如 helloservice endpoint 中自动生成 例如如果我的网络服务有方法 公共节点 getNo
  • startDrag 方法 已弃用且无法编译程序

    startDrag android content ClipData android view View DragShadowBuilder java lang Object int 已弃用 如何解决这个问题而又不失去对旧版本的兼容性 还有
  • 如何使用 Java 1.4 和 SAX 将任意数据编码为 XML?

    我们使用 SAX 来解析 XML 因为它不需要将整个 XML 文档读入内存来解析单个值 我读过很多文章 坚持认为 SAX 只能用于解析 解码 XML 而不能创建它 这是真的 不 这不是真的 您可以使用类似于以下内容的方式将 XML 编码为
  • 根据另一个列表的顺序对列表进行排序[重复]

    这个问题在这里已经有答案了 我需要对列表进行排序Person对象 List
  • 返回在 REST 控制器中包装 S3Object.getObjectContent() 的 ResponseEntity 是否安全?

    我正在开发一个 Spring Boot 应用程序 它应该允许用户通过指定的应用程序 REST 接口间接从 Amazon S3 下载文件 为此 我有一个 REST Controller 它向用户返回一个 InputStreamResource
  • Spring验证非空元素的字符串列表

    我有一个模型类 其中包含字符串列表 该列表可以为空 也可以包含元素 如果它有元素 这些元素不能为空 举个例子 假设我有一个名为 QuestionPaper 的类 它有一个 QuestionId 列表 其中每个都是一个字符串 class Qu
  • Spring Data JPA 存储库,具有规范、分页和标准 fetch-join

    我正在使用具有规范和分页功能的 Spring Data JPA 存储库实现实体列表的搜索 过滤服务 我正在尝试减少查询数量 n 1 问题 并使用条件获取机制获取嵌套数据 我有两个实体类 Entity Table name delegatio

随机推荐

  • Soundcloud CORS

    正如我在文档中读到的那样 Soundcloud api 应该支持 cors http developers soundcloud com docs api guide crossdomain http developers soundclo
  • 存在类型和类型成员的 Scala 类型推断

    以下代码无法编译 trait A F def find x Int F def fill f F Unit object TestA def test T lt A F forSome type F t T t fill t find 0
  • Python setuptools:打包根目录(每个包不需要子目录)

    我需要将一个包写入存储库 但它是一个小型快速包 因此我认为不需要将文件放入子目录中 我只是想要 import mypkg module1 具有目录结构 root folder setup py init py the init for pa
  • 无法使用mailer类在php中发送邮件

    今天我在php中做了一些邮件处理 我发现有两种方法 一种是Php提供的简单邮件功能 另一种是我在互联网上找到的关于使用网站上的PHP邮件程序类https github com PHPMailer PHPMailer https github
  • AWS S3在两个存储桶之间复制文件和文件夹

    我一直在寻找一种工具来帮助我将 AWS S3 存储桶的内容复制到第二个 AWS S3 存储桶 而无需先将内容下载到本地文件系统 我尝试使用 AWS S3 控制台复制选项 但这导致一些嵌套文件丢失 我尝试过使用 Transmit 应用程序 由
  • 如何处理 Visual Studio Code 消息框中的单击事件?

    根据 API 文档 消息框可以采用第二个参数 一个字符串数组 充当消息框上的操作 通常只有一个关闭按钮 操作 https code visualstudio com docs extensionAPI vscode api window h
  • 让右侧的 Div 填满所有可用空间

    我想创建两个并排的 div 但我希望左侧的 div 为 300px 右侧的 div 占据屏幕上的剩余部分 这怎么可能呢 谢谢 最直接的 我会说正确的 方法是使用display table wrapper display table widt
  • 分享一些东西到phonegap应用程序

    有什么方法可以注册phonegap应用程序以显示在要共享的应用程序菜单中吗 要出现在此列表中 您必须修改 AndroidManifest xml 文件并在您的 Activity 下添加以下行
  • PHP保存图像文件[重复]

    这个问题在这里已经有答案了 可能的重复 从 PHP URL 保存图像 https stackoverflow com questions 724391 saving image from php url using php 我有一个图像作为
  • gfortran 未定义的引用

    我正在尝试编译一个依赖很多东西的程序 我使用并修改了提供的 makefile 来代表我的计算机设置 但在编译的最后一步中我不断收到许多未定义的引用 导致问题的命令行是 gfortran o cosmomc ParamNames o Matr
  • Google 地图视图无法在模拟器上显示

    您好 我正在尝试在 Android 模拟器中显示地图 但它无法在地图视图中显示谷歌地图 并且也不从 Android 模拟器上的浏览器连接 www google com 那么是否有关于在模拟器上运行互联网的任何设置 谁能帮我解决这个问题 尝试
  • 是否有一个“OneOf”类用于对没有共同祖先的类进行分组

    与此类似 https stackoverflow com a 3508555 33689 我不想接受几个不相关的类之一 而是想返回一个 我有一个利用多个底层存储库的编排服务 每个存储库都可以传回一个错误 然而 这些错误类没有共同的祖先 例如
  • Windows批量编程中读取文件名

    我想在Windows批处理编程中读取文件的名称 我尝试使用不同的方法但失败了请帮助 下面给出了场景 我的文件夹中有不同的文件 但所有文件的文件名长度相同 例如 1000342578 30062011 PDF 1000342329 30062
  • 在单词后获取文本——R Webscraping

    几周前 这里有人帮助我极大地获得了名人数据库中所有链接的列表 我能够运行此代码并获得以下输出 library purrr library rvest url base lt https www nndb com lists 494 0000
  • MultipartEntity 类型已弃用

    文档说org apache http entity mime MultipartEntity http hc apache org httpcomponents client ga httpmime apidocs org apache h
  • 如何用 Java 为 2D 游戏构建 Tiled 地图?

    不知道如何解决这个问题 基本上 我想要 400x400 窗口的 Pixel gt Tile 表示 屏幕上的每个坐标 例如120x300应该是图块的一部分 我最小的精灵是 4 个像素 所以我们可以说 1 个图块 4 个像素 玩家和敌人精灵都是
  • 如何设置PS1使git和conda都可以在bash中显示?

    我的 bashrc show a short way shortwd num dirs 3 pwd symbol newPWD PWD HOME if echo n newPWD awk F print NF gt num dirs the
  • 如何移动 UITextField 中的清除按钮?

    由于某种原因 当我添加 UITextfield 作为表格单元格内容视图的子视图时 清除按钮与字段中键入的文本不对齐 并且出现在其下方 有什么方法可以移动清除按钮的文本来阻止这种情况发生吗 谢谢你的帮助 正如 Luda 所说 正确的方法是子类
  • 找不到满足 pkg-resources==0.0.0 要求的版本

    我的应用程序部署在heroku 当我通过推送我的代码时git push heroku master 它给了我这个错误 Collecting pkg resources 0 0 0 from r requirements txt line 1
  • 如何从 InputStream 读取一行而不缓冲输入? [复制]

    这个问题在这里已经有答案了 我有一个输入流 其中包含一行字符串 然后是二进制数据 如果我使用读取该行new BufferedReader new InputStreamReader inputStream 二进制数据也正在被读取并且不能被重