获取 ZipInputStream 的大小

2024-02-28

在我们完全读取流之前,是否有办法找到/估计 ZipInputStream 的大小?

例如,在读取用户数据之前,我们可以使用 getNextEntry 获取条目的元数据。

Inputstream 有一个方法 available() 来返回可以从此输入流读取的字节数的估计值,但我无法找到 ZipInputStream 的类似方法。


ZipInputStream 有方法 available() 但它返回 0 或 1。

要获取任何类型文件的估计大小,您可以使用 FileInputStream,然后使用 ZipInputStream 读取 zip 文件。 前任。

 public class ZipUtil {

    public static void main(String[] args) throws Exception {
        ZipInputStream zis = null;

        FileInputStream fis = new FileInputStream("C:/catalina.zip");
        int size = fis.available();
        System.out.println("size in KB : " + size/1024);
        zis = new ZipInputStream(fis);        

        ZipEntry ze;
        while ((ze = zis.getNextEntry()) != null) {
            System.out.println(ze.getName());
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 ZipInputStream 的大小 的相关文章

随机推荐

  • 根据项目属性值在数组中查找某些项目的最佳方法是什么?

    我有一个像这样的数组 var anArray name scala type a name abc type b name test type a name ruby type c name erlang type a 我想根据项目属性查找
  • Spring Boot中的Junit Test不会注入服务

    我有一个基本的 Spring Boot 应用程序 使用 Spring Initializr 嵌入式 Tomcat Thymeleaf 模板引擎 并打包为可执行 JAR 文件 我有这个服务 Service public class TdkRe
  • 在 GCP 虚拟机上运行 MLFlow

    我已在 GCP VM 实例上安装了 mlflow 现在我想使用外部IP访问mlflow UI 我尝试设置防火墙规则并打开 mlflow 的默认端口 但无法访问它 有人可以给出在虚拟机实例上运行 mlflow 的分步过程吗 我决定检查我的测试
  • 用最后一个非零值填充 1d numpy 数组的零值

    假设我们有一个一维 numpy 数组 其中填充了一些int价值观 假设其中一些是0 有什么办法吗 使用numpy阵列的力量 填满所有0值与最后找到的非零值 例如 arr np array 1 0 0 2 0 4 6 8 0 0 0 0 2
  • 如何将 ActiveDirectoryMembershipProvider 与 ASP.NET Identity 结合使用?

    我正在学习使用 NET Identity 我必须向 Active Directory 进行身份验证 为此目的我正在尝试使用ActiveDirecotoryMembershipProvider 我必须 验证用户 密码活动目录 https en
  • android中线程睡眠不一致

    我发现了有关 Thread sleep 的一些令人惊讶的事情 线程没有及时唤醒 让我解释 我创建一个活动 无服务 并运行如下所示的线程 Thread sleep 50000 50 seconds System out println som
  • 如何将包安装到 mvc core 2 中的 wwwroot

    最近我安装了VS 2017 其中包含Asp net mvc core 2 但这里存在一个非常混乱的问题 这就是我如何将新包安装到 wwwroot 中 我正在使用 Bower 但支持已结束 并且在使用 npm 配置后无法在项目 gt gt 新
  • 警告:此 可以替换为 标记

    我有一个FrameLayout其中包含一个TextView和两个LinearLayouts
  • 使用 Jquery.validate.js 验证电子邮件地址的格式 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在用着jquery validate js http jqueryvalidation org email method 验证公式的电子
  • Xamarin Visual Studio 2017:无法添加跨平台视图页面

    所以我使用 Xamarin 跨平台应用程序模板 我想添加LoginPage xaml查看我的项目 所以我选择add gt new item gt contentpage 总是有错误 项目系统遇到错误 在项目的层次结构中找不到新元素 视图 L
  • 有条件地包括聚合管道阶段

    我有一个函数可以根据给定的参数给我一些订单 但是 参数可以为空 在这种情况下我想留下 match alone 这是我目前拥有的代码 if req query status typeof req query status array var
  • 如何重新创建类似 Pulse 的 UI?

    我想知道如何像应用程序一样通过表格显示图像Pulse http itunes apple com us app pulse news reader id371088673 mt 8在 iPhone 上 我用了UIScrollView但这并没
  • 在 Qt 中以编程方式设置 QLabel 的像素图

    我们应该用来显示图片的 Widget 是 QLabel 我们可以直接从 QtCreator 中通过设置其 pixmap 属性来完成此操作 我们应该首先创建一个资源文件 然后将图像添加到该资源文件中 要创建 Qt 资源文件 我们进入菜单 文件
  • Bootstrap 2的模态插件中心不显示

    我使用引导模式插件 但模式对话框未显示在中心 为什么 我的错 http dl dropbox com u 573972 stackoverflow bootstrap modal html http dl dropbox com u 573
  • 在 ElementTree 中使用 XPath

    我的 XML 文件如下所示
  • 在 Program.cs 中登录

    是否可以在 Program cs Main 方法中获取 ILogger 我想将其传递给在该方法内创建的服务 我只在SO上找到这个如何从 Startup cs 中写入日志 https stackoverflow com questions 4
  • 无法从 keycloak 建立到 Mailhog 的 SMTP 连接

    我有一个 docker compose 它包含 Keycloak 和 Mailhog 我在 Keycloak 中配置了 Mailhog 但它不起作用 我在 Powershell 中尝试了 MailHog 它有效 有人可以帮我弄清楚为什么它不
  • 如何通过 REST api 停止 Jenkins 中的构建?

    我在詹金斯有一份工作 我们自己的网站通过 REST API 触发此作业的构建 有时我们想中止构建 有时 可能是在构建开始之前 在这种情况下 我们有queueItem 而不是build 如何通过 REST API 执行此操作 如果构建已经开始
  • 在 Safari Mobile 10.3 上,粘性页脚可以滚动到屏幕之外

    我们的移动 Web 应用程序具有粘性底部导航 就像您在 iOS 应用程序中经常看到的那样 并且在 Safari 10 3 发布后仅横向可以将粘性导航 页脚 滚动到屏幕之外 尽管它是position fixed并设置bottom 0这在旧版
  • 获取 ZipInputStream 的大小

    在我们完全读取流之前 是否有办法找到 估计 ZipInputStream 的大小 例如 在读取用户数据之前 我们可以使用 getNextEntry 获取条目的元数据 Inputstream 有一个方法 available 来返回可以从此输入