gpt4 book ai didi

java - 检查流是否为 zip 文件

转载 作者:搜寻专家 更新时间:2023-10-31 08:29:55 25 4
gpt4 key购买 nike

我们需要确定传入的 InputStream 是对 zip 文件还是 zip 数据的引用。我们没有引用流的底层来源。我们的目标是将此流的内容复制到指向备用位置的 OutputStream。

我尝试使用 ZipInputStream 读取流并提取 ZipEntry。如果流是常规文件,则 ZipEntry 为 null - 正如预期的那样 - 但是,在检查 ZipEntry 时,我从流中丢失了最初的几个字节。因此,当我知道流是常规流时,我已经从流中丢失了初始数据。

关于如何检查 InputStream 是否是一个没有数据丢失的存档的任何想法都会有所帮助。

谢谢。

最佳答案

假设您的原始输入流没有缓冲,我会尝试将原始流包装在 BufferedInputStream 中,然后再将其包装在 ZipInputStream 中进行检查。检查后,您可以在 BufferedInputStream 中使用“标记”和“重置”返回到流中的初始位置。

关于java - 检查流是否为 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4148987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com