java – 批量解压缩.gz文件
发布时间:2020-12-14 05:49:48 所属栏目:Java 来源:网络整理
导读:我有100个.gz文件,我需要解压缩. 我有几个问题 a)我使用http://www.roseindia.net/java/beginners/JavaUncompress.shtml给出的代码解压缩.gz文件.它的工作正常. 任务: – 有没有办法获取压缩文件的文件名.我知道Java的Zip类给出了entery文件的枚举工作.这可
我有100个.gz文件,我需要解压缩.
我有几个问题 a)我使用http://www.roseindia.net/java/beginners/JavaUncompress.shtml给出的代码解压缩.gz文件.它的工作正常. b)是否有另一种优雅的方法来通过调用java代码中的实用程序函数来解压缩.gz文件.就像从java类调用7-zip应用程序一样.然后,我不必担心输入/输出流. 提前致谢. 解决方法
a)Zip是一种存档格式,而gzip则不是.因此,除非(例如)你的gz文件是压缩的tar文件,否则入口迭代器没有多大意义.你想要的可能是:
File outFile = new File(infile.getParent(),infile.getName().replaceAll(".gz$","")); b)你只想解压缩文件吗?如果不是,您可以使用GZIPInputStream直接读取文件,即无需中间解压缩. 但是没问题.假设你真的只想解压缩文件.如果是这样,你可以使用这个: public static File unGzip(File infile,boolean deleteGzipfileOnSuccess) throws IOException { GZIPInputStream gin = new GZIPInputStream(new FileInputStream(infile)); FileOutputStream fos = null; try { File outFile = new File(infile.getParent(),"")); fos = new FileOutputStream(outFile); byte[] buf = new byte[100000]; int len; while ((len = gin.read(buf)) > 0) { fos.write(buf,len); } fos.close(); if (deleteGzipfileOnSuccess) { infile.delete(); } return outFile; } finally { if (gin != null) { gin.close(); } if (fos != null) { fos.close(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 与Tomcat一起使用APR有什么好处(如果有的话)?
- java – Solr无法加载MySQL JDBC驱动程序
- java和c中的for循环有什么区别吗?
- java – 如果使用基本身份验证,Applet将显示登录对话框
- JSP Request.isRequestedSessionIdFromURL()方法:判断sess
- java – 在Clojure中强制垃圾收集是个好主意吗?
- java – @GET可以为JAX-RS实现定义Consumes Content-Type吗
- Java实现单链表翻转
- Java丢弃一半的UDP数据包
- java – CompletableFuture vs Spring Transactions