使用 java.io 寻找 ByteArrayInputStream

2023-11-22

我怎样才能寻找(改变立场)ByteArrayInputStream (java.io)?这是显而易见的事情,但我似乎无法在任何地方找到这种方法(mark/reset还不够,我需要将位置设置到InputStream).

如果不能使用java.io我必须切换到java.nio并使用ByteBuffer,我怎样才能得到类似的东西DataOutputStream包裹一个ByteArrayOutputStream using java.nio?我没有找到任何类型的自动调整大小的缓冲区。

EDIT: 我找到了一种方法来实现我想要做的事情,但它有点混乱。ImageIO.createImageInputStream创建一个ImageInputStream,这正是我想要的(可以查找和读取原语)。然而,使用一个ByteArrayInputStream返回一个FileCacheImageInputStream,这基本上意味着它将字节数组复制到文件中只是为了查找。

这是我第一次尝试使用 Java IO 类,结果完全是负面的。它缺少一些基本的(IMO)功能,并且它有很多方法可以做同样的事情(例如,从文件中读取原语,您可以使用RandomAccessFile, DataInputStream + FileInputStream, FileImageInputStream, FileChannel + ByteBuffer,甚至可能更多)。


你会用reset()/skip()。我不能说它是世界上最好的 API,但它应该可以工作:

public void seek(ByteArrayInputStream input, int position)
    throws IOException
{
    input.reset();
    input.skip(position);
}

当然,这是假设没有人打电话的情况下mark().

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

使用 java.io 寻找 ByteArrayInputStream 的相关文章

  • 如何让 BlazeDS 忽略属性?

    我有一个 java 类 它有一个带有 getter 和 setter 的字段 以及第二对 getter 和 setter 它们以另一种方式访问 该字段 public class NullAbleId private static final
  • 在 Java 中克隆对象 [3 个问题]

    这样做会调用Asub的clone方法吗 或者Asub深度克隆是否正确 如果没有的话 有没有办法通过这种方法对Asub进行深度克隆呢 abstract class Top extends TopMost protected Object cl
  • 不同帐户上的 Spring Boot、JmsListener 和 SQS 队列

    我正在尝试开发一个 Spring Boot 1 5 应用程序 该应用程序需要侦听来自两个不同 AWS 帐户的 SQS 队列 是否可以使用 JmsListener 注解创建监听器 我已检查权限是否正确 我可以使用 getQueueUrl 获取
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 在接口中使用默认方法是否违反接口隔离原则?

    我正在学习 SOLID 原则 ISP 指出 客户端不应被迫依赖于他们所使用的接口 不使用 在接口中使用默认方法是否违反了这个原则 我见过类似的问题 但我在这里发布了一个示例 以便更清楚地了解我的示例是否违反了 ISP 假设我有这个例子 pu
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • jdbc mysql loginTimeout 不起作用

    有人可以解释一下为什么下面的程序在 3 秒后超时 因为我将其设置为在 3 秒后超时 12秒 我特意关闭了mysql服务器来测试mysql服务器无法访问的这种场景 import java sql Connection import java
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • 在java中为组合框分配键

    我想添加一个JComboBox在 Swing 中这很简单 但我想为组合中的每个项目分配值 我有以下代码 JComboBox jc1 new JComboBox jc1 addItem a jc1 addItem b jc1 addItem

随机推荐

  • asyncio 中的合作收益

    我正在 龙卷风 网络服务器上运行一个长时间的 CPU 密集型任务 我不想将此任务卸载到线程 目前 在这个长时间运行的任务中 如何正确地 yield 控制事件循环 以便网络请求仍然得到服务 注意 我在这里以合作调度的方式使用 yield 而不
  • AWS 中的负载均衡器、侦听器目标、目标组之间有什么区别?

    您好 我是 AWS 新手 试图了解负载均衡 目标 目标组和安全组之间的区别 我有 2 个实例正在运行 现在我想平衡这些服务器的负载 是否会在新实例上创建负载平衡 什么是侦听器以及它们与负载均衡器有何不同 是的 负载均衡器是一个 EC2 实例
  • 非常量大小的数组:为什么这有效? [复制]

    这个问题在这里已经有答案了 include
  • 可调整大小的 Vue-good-table 或 Vue

    我在 Vue js 中有一个使用 Vue good table 制作的表格 我需要找到一种方法来调整大小 像这样的东西 https codepen io validide pen aOKLNo 不幸的是 据我所知 Vue good tabl
  • 为什么wcftestclient中无法调用WCF?

    我建立了一个WCF服务 它在IE addr中运行良好 但是当我将其添加到wcftestclient并调用方法时 会提示错误并显示为 调用服务失败 可能原因 服务离线或无法访问 客户端配置与代理不匹配 现有代理无效 有关更多详细信息 请参阅堆
  • Android 的基于位置的推送通知

    有没有办法在不使用第三方推送通知服务 例如 Parse 的情况下为 Android 设备发送基于位置的推送通知 我想向我的用户发送推送通知 而不会因为收到与该特定用户无关的通知而烦恼 因为他们不在某个区域 另外 我可以根据时间间隔获取用户位
  • 在 Electron 中出现“alert”后无法编辑输入元素

    TLDR 我正在学习电子 我有一个 HTML 元素
  • 什么是双箭头函数?

    什么是 让x something1 gt something2 gt something3 我有这段代码 但我无法理解它的作用 const myReducers person hoursWorked const combineReducer
  • Notepad++ 6.1.x 和 HTMLTidy

    有人可以使用 Notepad 6 1 x 和 HTMLTidy 并可以告诉我在哪里下载 dll config 使用 Notepad 6 1 4 Win 7 x86 是的 这个 Notepad TidyHTML 问题已经被问过 但它要么引用过
  • 根据条件从列表中删除重复项目

    我有一个具有属性 名称 价格 的项目类 Item1 100 Item2 200 Item3 150 Item1 500 Item3 150 仅当名称存在多次且价格为 500 美元时 我才想使用 LINQ 删除项目 而不创建自定义比较器 对于
  • 防止保存时删除主体为空的方法

    一直按 Ctrl S 是我的一个很矛盾的习惯 不利的一面是delphi在保存时删除空函数 过程 有没有办法防止 IDE 删除保存时主体为空的函数 过程 根据 OP 请求从评论转换而来 我的评论太小 无法回答 所以我将添加一些可能对OP来说已
  • DMARC -spf 和 DKIM 记录查询

    我有一个与第三方供应商的场景 我们公司有很多第三方邮件服务 我已经使用 p none 设置了 dmarc 并且使用已知的发送服务器更新了 SPF 记录 您能否澄清我在 Dmarc org 网站上读到的有关使第 3 方供应商符合 Dmarc
  • JQuery - 实时复制字段输入文本

    我试图弄清楚如何将一个表单字段中的用户文本输入复制到另一个表单字段中 具体来说 当有人在联系表单中填写其电子邮件地址时 该地址将在邮件列表表单中重复 这两种表单都使用 ajax 因此不必担心输入文本在提交时丢失 这是我的代码 div div
  • 如何在 Node.js 中监听剪贴板事件?

    我希望能够侦听 Node js 中的剪贴板事件 更准确地说是复制事件 我已经在java中使用过windows键盘钩子 所以我已经对这个主题有点熟悉了 由于我使用 Ubuntu 10 10 作为我的主要操作系统 因此我对 Ubuntu 桌面解
  • angularjs $httpProvider 拦截器文档

    我是角度 和编程 的新手 这是一个看似简单的问题 但我无法弄清楚 一些教程建议使用 httpProvider interceptors push interceptorName 操纵http请求和响应 我想了解更多关于拦截器的事情 所以我查
  • jQuery 在悬停时打开 div;自动滚动浏览

    我有一个UL列表中包含多个链接 每个项目都链接到自己的项目DIV 当用户将鼠标悬停在 UL 链接上时 正确DIV显示框 这是我的 HTML 代码 ul class productlist li a href class product li
  • 使用 python pandas 将新数据框附加到现有 Excel 工作表

    我目前有这段代码 它工作完美 它循环遍历文件夹中的 Excel 文件 删除前 2 行 然后将它们另存为单独的 Excel 文件 它还将循环中的文件保存为附加文件 当前附加文件覆盖每次运行代码时都会使用现有文件 我需要将新数据附加到底部已有的
  • 批量删除(截断与删除)

    我们有一个包含 150 多万条记录的表 我们需要清除 删除所有行 由于删除操作会写入 t log 因此删除操作将永远持续下去 并且我们无法更改整个数据库的恢复模型 我们已经测试了截断表选项 我们意识到 截断会从表中释放页面 如果我没记错的话
  • 如何将 EFS 共享挂载到 AWS Fargate?

    我有一个存储容器日志的 AWS EFS 共享 我想将此 nfs 共享 aws efs 挂载到 AWS Fargate 是否可以 任何支持文档链接将不胜感激 你可以这样做自2020年4月起 这有点棘手但有效 我遇到的最大问题是您需要将 平台版
  • 使用 java.io 寻找 ByteArrayInputStream

    我怎样才能寻找 改变立场 ByteArrayInputStream java io 这是显而易见的事情 但我似乎无法在任何地方找到这种方法 mark reset还不够 我需要将位置设置到InputStream 如果不能使用java io我必