当前位置: 首页 > 面试题库 >

InputStream不会重置为开始

许昆
2023-03-14
问题内容
InputStream data = realResponse.getEntity().getContent();
byte[] preview = new byte[100];
data.read(preview, 0, 100);

//现在,我想稍后再引用InputStream,但我希望从流的开头而不是100字节开始。我尝试mark()在100处尝试,然后reset()在读取前100个字节后尝试了此操作,但这并没有要么工作。

有任何想法吗?可能是一个愚蠢的错误..只是没有看到它。


问题答案:

当您使用mark()的的的java.io.InputStream对象,你应该与检查markSupported()方法,如果你的InputStream实际上支持使用标记。根据API,InputStream该类不是,但是java.io.BufferedInputStream类是。也许您应该将流嵌入到如下BufferedInputStream对象中:

InputStream data = new BufferedInputStream(realResponse.getEntity().getContent());
// data.markSupported() should return "true" now
data.mark(some_size);
// work with "data" now
...
data.reset();


 类似资料:
  • 我正在制作一个程序来修补一些文件,我想用一个作为进度指示器,但是进度条保持完全满的状态,完成后不会重置。这是更新它的方法。 我已经试过了 但当我使用它时,它根本不会显示任何进展<代码>线程。sleep()也不行。

  • 问题内容: 我的页面上有一个表单,当我调用它时,将forms类设置为,但仍然返回true。我在这里做错了什么? 模板 零件 问题答案: 它()行为正确。您的表单需要用户名和密码,因此,当您重置表单时,该表单应该无效(即,没有用户名/密码的表单无效)。 如果我理解正确,那么这里的问题就是为什么在您第一次加载页面(表单也是无效的)时并没有出现红色错误,而是在您单击按钮时弹出了红色错误。当您使用Mate

  • 将kafka consumer offset重置为“最早”时,它会保留一些带有偏移量的分区 显示: 为什么分区1也没有0?

  • 问题内容: 我正在使用CSS着色器+动画。我的着色器类定义如下: 我正在尝试使用jQuery通过和动态设置/取消设置样式(shader + animation) 但是,奇怪的是,当我重置类时(例如,在removeClass之后调用addClass),仅重新应用了着色器,而没有应用动画(我已钩住AnimationStart事件以查看动画何时开始)。有人知道为什么会这样吗,我该如何解决? 编辑:我在这

  • 问题内容: 我正在尝试建立一个脚本以在数据库中生成一组特定的测试数据,在该脚本的开头,我想清除有关表而不删除约束(因为测试数据不是重建约束的适当位置)并为每个表重置AUTO_INCREMENT,因为如果可以硬编码许多ID,则设置测试数据要简单得多。 例如,我有两个这样的语句(几乎每个表都有一对): 并且在删除记录时,即使我能找到的所有文档和SO回答都表明这应该可行,但auto-increment值

  • 问题内容: 执行此强制转换时出现编译错误: 应该被继承,尽管不能直接继承。 从文档: 农具其中inturn & 为什么这无效? 也感谢您提供有关使用as 的正确方法的意见? 我正在考虑包装方法。 问题答案: 扩展,并且 不 扩展。 如果您想从中获得帮助,我认为实现包装器类是您最简单的选择。幸运的是的唯一抽象方法是。 RandomAccessFile实现了DataInput,该数据输入将依次转为Da