java 直接读取zip文件和文件内容 - 并发读取
java 直接读取zip文件和文件内容 - 并发读取
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | package com.lookcoder.utils; import java.io.*; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; public class ReadFile implements Runnable { public static void main(String[] args) throws IOException { for ( int i = 0 ; i < 500 ; i++) { new Thread( new ReadFile()).start(); } } @Override public void run() { String path = "C:\\Users\\thunisoft\\Desktop\\plugman.zip" ; ZipInputStream zin = null ; try { zin = new ZipInputStream( new FileInputStream(path), StandardCharsets.UTF_8); ZipFile zf = new ZipFile(path); ZipEntry ze; while ((ze = zin.getNextEntry()) != null ) { if (ze.toString().endsWith( "/node_modules/define-property/package.json" )) { BufferedReader br = new BufferedReader( new InputStreamReader(zf.getInputStream(ze))); String line; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null ) { sb.append(line.toString().trim()); } System.out.println(Thread.currentThread().getName() + " :: " + ze.getName() + " :: " + sb.toString()); br.close(); break ; } } System.out.println(); System.out.println(); } catch (IOException e) { e.printStackTrace(); } finally { if (zin != null ) { try { zin.closeEntry(); } catch (IOException e) { e.printStackTrace(); } } } } } |
Thread-123 :: plugman/node_modules/base/node_modules/define-property/package.json :: {"_from": "define-property@^1.0.0","_id": "define-property@1.0.0","_inBundle": false,
Thread-214 :: plugman/node_modules/base/node_modules/define-property/package.json :: {"_from": "define-property@^1.0.0","_id": "define-property@1.0.0","_inBundle": false,
Thread-109 :: plugman/node_modules/base/node_modules/define-property/package.json :: {"_from": "define-property@^1.0.0","_id": "define-property@1.0.0","_inBundle": false,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2019-05-08 ContextLoadListener & DispatcherServlet 加载顺序以及加载过程
2019-05-08 Spring中查看加载配置文件中 加载类的个数及详情
2019-05-08 DispatcherServlet 被加载顺序
2017-05-08 CodeIgniter(3.1.4)框架-url重写,去除index.php
2017-05-08 CodeIgniter(3.1.4)框架中-使用多个公共控制器