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

是否可以从zipinputstream获取zipentry的输入流?

微生德泽
2023-03-14
问题内容

我正在从另一个来源接收ZipInputStream,并且需要将第一项的InputStream提供给另一个来源。

我希望能够在不将临时文件保存在设备上的情况下执行此操作,但是,我知道获取单个条目的InputStream的唯一方法是通过ZipFile.getInputStream(entry),并且因为我有一个ZipInputStream而不是ZipFile
, 这是不可能的。

所以我最好的解决方案是

  1. 将输入的InputStream保存到文件
  2. 读取文件为ZipFile
  3. 使用第一个条目的InputStream
  4. 删除临时文件。

问题答案:

想通了:

完全有可能,在条目开始处ZipInputStream.getNextEntry()定位位置InputStream并因此提供的调用ZipInputStream等同于提供ZipEntryInputStream

ZipInputStream是足够聪明来处理条目的EOF下游,或者看起来是这样。

p。



 类似资料:
  • 问题内容: 我想抢先获取要在中加载的网页的HTML代码,使用正则表达式解析它,并仅显示所需的HTML代码,同时让该网页仍然认为它已加载了所有内容。 有什么方法可以通过或类似方法来做到这一点? 编辑:我尝试过此: 该接口永远不会被调用 问题答案: 不得不使用HttpClient。无需Cookie,只需解析html:

  • 问题内容: 有什么办法可以让子查询在oracle db中返回多个列?(我知道此特定的sql会导致错误,但总的来说我想要的很好) 我想要这样的结果: 我知道可以通过联接解决此问题,但这不是我要的。 我的问题很简单,是否有办法从子查询中获取两个或多个值?也许一些解决方法使用双重?这样就没有实际的联接,但是每行都有一个新的子查询? 编辑:这是一个原则性问题。我知道,您可以使用join解决所有这些问题。您

  • 问题内容: 对于我的调试需求,还算不错。但是,如果可以的 话 ,它会更酷(并且很有帮助)。这可能吗? 问题答案: 有一个项目将iPython嵌入到标准pdb中,因此您可以执行以下操作: 可通过通常的方式安装。 非常短,因此除了easy_installing之外,您还可以在Python路径上的某个位置创建一个文件,并将以下内容粘贴到该文件中:

  • 我试图通过修改hashCode()和equals()方法()在HashSet中添加重复的值? 我试过下面的代码 根据我的理解,如果有两个“a”的副本,HashSet将首先获得hashCode()以获得正确的bucket,然后检查equals()的值,如果equals返回true,则不会添加,但如果返回false,则会添加。因此,为了向我的集合添加重复值,我重写equals(),它总是返回false

  • 我想知道OpenCV是否能够将摄像头(dev/video1)设置为复合或S-video输入。 我使用的摄像头仅在复合输入中运行,但默认情况下,v4l2在S-Video输入中打开dev/video1。V4l2能够通过QT V4l2 utils应用程序从S视频转换为复合输入。 opencv正在使用v4l从相机捕获图像,我想在代码中使用OpenCV更改为复合输入。那有可能吗?如果不是,解决办法是什么?

  • 我成功地为应用程序使用了logback,但无法从ch.qos.logback记录消息。我知道一个无法记录初始消息(下面的回答确认了这一点),这是有意义的。我不明白的是,为什么我还不能记录logback完成自身配置后生成的消息。 因此,没有办法告诉Logback将它自己的on-startup-log-events定向到文件附加器。 由ch.qos.logback.classic.net.smtpap