如何重用/重置 ZipInputStream?

2024-02-26

我想重置 ZipInputStream (即回到起始位置)以便按顺序读取某些文件。我怎么做?我好卡住...

      ZipEntry entry;
        ZipInputStream input = new ZipInputStream(fileStream);//item.getInputStream());

        int check =0;
        while(check!=2){

          entry = input.getNextEntry();
          if(entry.getName().toString().equals("newFile.csv")){
              check =1;
              InputStreamReader inputStreamReader = new InputStreamReader(input);
                reader = new CSVReader(inputStreamReader);
                //read files
                //reset ZipInputStream if file is read.
                }
                reader.close();
          }
            if(entry.getName().toString().equals("anotherFile.csv")){
              check =2;
              InputStreamReader inputStreamReader = new InputStreamReader(input);
                reader = new CSVReader(inputStreamReader);
                //read files
                //reset ZipInputStream if file is read.
                }
                reader.close();
          }

        }

如果可能(即您有一个实际文件,而不仅仅是要读取的流),请尝试使用ZipFile http://download.oracle.com/javase/1.4.2/docs/api/java/util/zip/ZipFile.html类而不是更底层的 ZipInputStream。 ZipFile 负责在文件中跳转并打开各个条目的流。

ZipFile zip = new ZipFile(filename);
ZipEntry entry = zip.getEntry("newfile.csv");
if (entry != null){
    CSVReader data = new CSVReader(new InputStreamReader(
         zip.getInputStream(entry)));
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重用/重置 ZipInputStream? 的相关文章

  • 在 Java 中检测流是否被压缩的最佳方法

    找出我的最佳方法是什么java io InputStream包含压缩数据 介绍 由于所有答案都是 5 年前的 我觉得有责任写下今天发生的事情 我严重怀疑是否应该读取流的魔术字节 这是一个低级代码 通常应该避免 简单回答 米库写道 如果可以通
  • $("...")[0].reset 不是一个函数...在 jQuery 中重置表单

    我正在尝试使用 jQuery 重置某些表单 但遇到了一些麻烦 除了涉及编写函数或自定义插件的解决方案之外 我一次又一次地发现重置方法不是 jQuery 的标准部分 而是标准 Javascript 的一部分 不管怎样 我的第一个方法是 the
  • 将 InputStream 写入 HttpServletResponse

    我有一个输入流 我想将其写入 HttpServletResponse 有一种方法 由于使用了 byte 所以花费的时间太长 InputStream is getInputStream int contentLength getContent
  • Java 中的 Apache HttpClient,instream.toString = org.apache.http.conn.EofSensorInputStream

    我正在使用 Apache HttpClient 获取页面 我想将服务器回复的 http 正文存储到一个字符串中 以便我可以操作该字符串并将其打印到控制台 不幸的是 当运行此方法时 我收到此消息 17 52 01 862 INFO Drive
  • SwiftUI 导航到 NavigationView 堆栈的底部

    我进行了以下设置 其中父视图包含NavigationView它显示一系列页面 A B 和 C 在页面 C 上有一个隐藏导航视图的按钮 我想要它 以便当再次显示导航视图时 它会自动导航到页面 A 但是我不确定如何使用 SwiftUI 执行此操
  • ZipFile 关闭后 ZipEntry 是否仍然存在?

    目前 我的库中存在看似合理的资源泄漏 因为我将 ZipFile 保持打开状态 因此某个 ZipEntry 返回的 InputStream 未关闭 但是 关闭返回的 InputStream 并不会关闭 ZipFile 的其余部分 因此我坚持将
  • 嵌入式领域“软复位”和“硬复位”有什么区别?

    在我看来 软复位 从复位向量启动 硬重置 拉cpu的电平 硬复位当然意味着整个CPU芯片及其所有外设都被复位 造成这种情况的原因可能有很多 复位引脚被外部拉动 时钟故障 片上低电压检测 看门狗 非法指令陷阱等 软复位可能意味着返回复位向量的
  • 从二进制文件读取结构数据时获取垃圾值

    大家好 在我之前的问题中 我能够获取要加载到文件中的结构的数据 但现在的问题是我在检索它时获得垃圾值 文件内容 settings bin 110 NormalCompression Level210 NormalCompression Le
  • Azure Functions - Blob 流动态输入绑定

    我正在 azure 上运行一个 C 函数 它需要从容器中获取文件 唯一的问题是输入文件的路径每次都会 可能 不同 并且输入文件的数量将从 1 到大约 4 或 5 不等 因此 我不能只使用默认的输入 blob 绑定据我所知 我的选择是给予容器
  • PHP静态成员不保值

    大家好 我正在编写的 WordPress 插件遇到了一个奇怪的问题 但这与 WordPress 本身无关 更多地与 PHP 有关 所以请继续阅读 以便我可以解释 WordPress 插件已连接 以便调用 init 函数 这有效 我可以确认它
  • Git:从失败的变基中恢复

    我只是试图重新调整我的一个功能分支 但出现了问题 现在我正在尝试找出如何撤消此操作 在我的功能分支上 我简单地做了一个 git rebase develop提交错误修复后develop我也在功能分支中想要它 这给了我 git rebase
  • 为什么 ImageIO.read() 这么慢?

    所以我试图从流中获取 PNG 图像 image ImageIO read inputStream 这段代码运行了十秒钟 我认为问题出在缓慢的InputStream上 所以我尝试先将它加载到缓冲区中 byte bytes inputStrea
  • 确定输入流的大小

    我目前的情况是 我必须读取一个文件并将内容放入InputStream 之后我需要将内容InputStream到一个字节数组中 它需要 据我所知 的大小InputStream 有任何想法吗 根据要求 我将显示我从上传的文件创建的输入流 Inp
  • Scala:输入流到数组[字节]

    使用 Scala 从 InputStream 读取字节数组的最佳方法是什么 我可以看到您可以将 InputStream 转换为 char 数组 Source fromInputStream is toArray 怎么样 Stream con
  • C# 中套接字重用有什么好处

    我正在开发开源套接字服务器库 https sourceforge net projects socketservers https sourceforge net projects socketservers 我想向这个库添加套接字重用功能
  • Logger 和 System.out.println 的输出不按顺序

    我想要记录器的输出inputstream在 Eclipse 控制台中 但每次执行的时候 结果的顺序总是不一样 我有几个类 其中一个主类可以调用其他类 并且我将记录器放入每个方法中进行调试 我将结果打印到控制台 我也有检索的方法inputst
  • HttpUrlConnection.getInputStream 在 Android 中返回空流

    我使用 HttpUrlConnection 向服务器发出 GET 请求 连接后 我收到响应代码 200 我收到回复消息 好的 我得到输入流 没有抛出异常 但是 在一个独立的程序中 我得到了响应的正文 如预期的那样 姓名 我的名字 生日 01
  • Android - 从网络下载图像,保存到应用程序私有位置的内存中,显示列表项

    我想做的是 我希望我的应用程序从互联网下载图像并将其保存到手机内存中应用程序私有的位置 如果列表项没有可用的图像 即无法在 Internet 上找到 我希望显示默认的占位符图像 这是我在 list item row xml 文件中定义为默认
  • 如何重新执行Log4j“默认初始化过程”?

    在运行时我经常创建 修改log4j记录器 附加器 级别 布局有时需要将所有内容重置回默认值 Log4j系统有明确的定义默认初始化过程 http logging apache org log4j 1 2 manual html default
  • 在 R 中撤消布局

    我最初创建了一个箱线图和直方图组合的图 为此我设置了 nf lt layout mat matrix c 1 2 2 1 byrow TRUE height c 1 3 par mar c 2 2 1 1 Draw box plot Dra

随机推荐

  • mysql 排序字符串编号

    我有一个 varchar 类型的列 它存储许多不同的数字 举例来说 有 3 行 17 95 199 95 和 139 95 我如何将该字段排序为 mysql 中的数字 最快 最简单 使用 1 select from tbl order by
  • 设计问题:哪种做法更好?

    我有 3 个不同的 Web 服务器来处理用户数据 用户名 密码 电子邮件等 我分别有 3 个不同的 Web 服务调用 因此我创建了 3 个不同的类 它们调用相同的信息 getUsername setUsername getEmail set
  • ImportError:Ubuntu 11.04 服务器上的 django 项目中没有名为 mysql.base 的模块

    我正在按照中的步骤操作姜戈书 http www djangobook com en 2 0 chapter05 到了作者解释我如何建立一个 django 项目来使用数据库的部分 我选择了mysql 我的设置在settings py are
  • didReceiveRemoteNotification 不在后台工作

    我正在开发一个带有大量遗留代码的大型应用程序 目前 有一个实现 void application UIApplication application didReceiveRemoteNotification NSDictionary use
  • WriteProcessMemory/ReadProcessMemory 失败

    我尝试在应用程序中同时使用 ReadProcessMemory 和 WriteProcessMemory 但在这两种情况下我都得到一个结果 仅完成了 ReadProcessMemory 或 WriteProcessMemory 请求的一部分
  • 从 DRF 中的令牌字符串获取用户对象?

    我有一个令牌字符串Django REST 框架令牌身份验证 http www django rest framework org api guide authentication tokenauthentication 我需要获取相应的用户
  • 使用列表中的数据创建填充等值线图

    我的数据集由 csv 文件中的 3 列组成 前两列是地图坐标 第三列是在相应地图坐标的钻孔中发现的锌的百分比 我想创建一个等高线图来显示锌浓度随距离的变化 我能够找到的所有代码示例都使用矩阵形式的数据 而我的代码示例则位于列表中 我尝试了几
  • 如何在 System.Net.WebUtility.UrlEncode 中强制使用 %20 而不是 +

    我需要在类库程序集中对 URL 进行编码 但我不想在其中引用 System Web URL包含多个空格 https query yahooapis com v1 public yql q select from yahoo finance
  • 阻止应用程序在 bluestacks、youwave 和其他模拟器中运行

    我想阻止我的应用程序在 bluestacks youwave 等模拟器中运行 我是否可以阻止甚至识别用户是否在 bluestacks youwave 中运行 我的应用程序具有登录功能 所以它也使用服务器 所以我不介意在客户端 服务器端阻止用
  • Excel 2010 - 在工作簿中存储功能区自定义

    我是 Excel 功能区自定义新手 将功能区自定义存储在工作簿中的最直接的方法是什么 以便在工作簿关闭时自定义消失得无影无踪 要更改工作簿的功能区 您需要更改 xlsx 文件 内部 的 XML 文件 只不过是 zip 一切都在这里得到了很好
  • 当 required 不为 true 时,jQuery 验证 `valid()` 方法返回 0

    我正在使用jQuery 验证插件 http docs jquery com Plugins Validation我有一个带有班级的文本框digits强制它仅是数字 但不是必需的 当我在表单上调用 validate 时 它 工作正常 但如果我
  • 为什么Web Workers不允许修改dom

    I know web workers作为一个单独的线程工作UI thread但我不明白为什么他们不允许修改DOM 我的意思是你可以允许线程间通信并保持DOM数据位于共享空间并具有web workers线程修改DOM 为什么浏览器不允许这样做
  • Android 4.3 ImageView 方法 getImageMatrix() 的错误

    我最近升级到 Android 4 4 我的应用程序的某些功能令人惊讶地停止工作 我有这段代码用于初始化然后绘制我的自定义视图 基本思想是调整缩放级别 使整个视图适合屏幕 private void initAtZoomLevel float
  • Angular 4材质表突出显示一行

    我正在寻找一种好方法来突出显示整个行md table 我应该做指令还是什么 div class example container mat elevation z8 div
  • 在步骤:将推送通知功能添加到您的应用程序 ID 中报告错误

    In 开发者网站 https developer apple com 我让我的app ID s Push Notifications enable 但在我的项目中 TARGETS gt Capabilities gt Push Notifi
  • UITableView 顶部和底部具有透明渐变

    我搜索过这个论坛 谷歌和其他论坛 但没有找到我的特定问题的答案 基本上 我有一个UIView其中包含UITableView 我跟着这个tutorial http www cocoanetics com 2011 08 adding fadi
  • 事件网格吞吐量限制

    我是天蓝色事件网格概念的新手 目前正在研究事件网格以在我们的项目中实现 任何人都可以告诉我们事件网格的吞吐量吗 每秒我可以推送多少个事件以及每秒事件网格的出口是多少 意味着每秒从事件网格输出事件的数量 我向微软询问了这个话题 他们的回应是
  • Java中的抽象类和方法,继承

    我有类 B 它继承自类 A 超类 A 是抽象的 包含一个抽象方法 我不想在类 B 中实现抽象方法 因此我也需要将类 B 声明为抽象方法 声明 B 类抽象 有两件事对我有用 程序正确编译和运行 1 我没有在类 B 中声明任何抽象方法 即使该类
  • MongoDB 唯一索引不允许覆盖

    我在 Mongo 文档中的一个字段上创建了一个 unique true 索引 这按预期工作 它通过覆盖现有条目来禁止重复 我想禁止覆盖 而是在尝试插入重复项时出现错误或异常 有什么办法可以做到这一点吗 我该如何使用 Spring Data
  • 如何重用/重置 ZipInputStream?

    我想重置 ZipInputStream 即回到起始位置 以便按顺序读取某些文件 我怎么做 我好卡住 ZipEntry entry ZipInputStream input new ZipInputStream fileStream item