GZIP .gz 文件解压与压缩工具类
来源:互联网 发布:西安软件公寓申请 编辑:程序博客网 时间:2024/06/01 18:32
package com.ucf.gatewaycheck.utils;import java.util.zip.GZIPInputStream; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import org.apache.log4j.Logger;public class GZIPFileUtil { private static final Logger log=Logger.getLogger(GZIPFileUtil.class);/** * Uncompress the incoming file. * @param inFileName Name of the file to be uncompressed */ public static String doUncompressFile(String inFileName) { log.info("建行快捷对账文件解压文件名:["+inFileName+"]");GZIPInputStream in = null; FileOutputStream out = null; try { if (!getExtension(inFileName).equalsIgnoreCase("gz")) { log.error("File name must have extension of \".gz\""); System.exit(1); } try { in = new GZIPInputStream(new FileInputStream(inFileName)); } catch(FileNotFoundException e) { log.error("File not found. " + inFileName); System.exit(1); } String outFileName = getFileName(inFileName); try { out = new FileOutputStream(outFileName); } catch (FileNotFoundException e) { log.error("Could not write to file. " + outFileName); System.exit(1); } byte[] buf = new byte[1024]; int len; while((len = in.read(buf)) > 0) { out.write(buf, 0, len); } log.info("建行快捷对账文件解压保存路径:["+outFileName+"]");return outFileName;} catch (IOException e) { log.error("File write Fail!");System.exit(1); }finally{try {if (in != null) {in.close();}if (out != null) {out.close();}} catch (IOException e) {log.error(e);}}return null;} /** * Used to extract and return the extension of a given file. * @param f Incoming file to get the extension of * @return <code>String</code> representing the extension of the incoming * file. */ public static String getExtension(String f) { String ext = ""; int i = f.lastIndexOf('.'); if (i > 0 && i < f.length() - 1) { ext = f.substring(i+1); } return ext; } /** * Used to extract the filename without its extension. * @param f Incoming file to get the filename * @return <code>String</code> representing the filename without its * extension. */ public static String getFileName(String f) { String fname = ""; int i = f.lastIndexOf('.'); if (i > 0 && i < f.length() - 1) { fname = f.substring(0,i); } return fname; } /** * Sole entry point to the class and application. * @param args Array of String arguments. */ public static void main(String[] args) { String mess=doUncompressFile("E:/CCBKJ/SHOP.105290073991463.20150329.KJZF.txt.gz"); System.out.println(mess);} }
文件压缩:
package com.ucf.gatewaycheck.service.impl;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPOutputStream; public class CompressFileGZIP { private static void doCompressFile(String inFileName) { try { System.out.println("Creating the GZIP output stream."); String outFileName = inFileName + ".gz"; GZIPOutputStream out = null; try { out = new GZIPOutputStream(new FileOutputStream(outFileName)); } catch(FileNotFoundException e) { System.err.println("Could not create file: " + outFileName); System.exit(1); } System.out.println("Opening the input file."); FileInputStream in = null; try { in = new FileInputStream(inFileName); } catch (FileNotFoundException e) { System.err.println("File not found. " + inFileName); System.exit(1); } System.out.println("Transfering bytes from input file to GZIP Format."); byte[] buf = new byte[1024]; int len; while((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); System.out.println("Completing the GZIP file"); out.finish(); out.close(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } } /** * Sole entry point to the class and application. * @param args Array of String arguments. */ public static void main(String[] args) { String str="E:\\AUTORUN.INF"; doCompressFile(str); } }
0 0
- GZIP .gz 文件解压与压缩工具类
- Linux中使用gzip来压缩/解压 *.gz文件
- Linux 下解压.tar.gz文件报错 gzip:stdin:not in gzip format 的解决办法
- gzip: ../recovery.img-ramdisk.gz: 无法解压
- linux解压 .gz 文件
- 解压.tar.gz文件
- 解压.tar.gz文件
- 解压*.tar.gz文件
- 解压cpio.gz文件
- 解压cpio.gz文件
- linux 解压gz文件
- 如何解压.gz文件
- .cpio.gz文件解压
- java解压gz文件
- 解压.gz文件
- cpio.gz文件解压
- 解压tar.gz文件
- 解压cpio.gz文件
- ListView中的点击事件和长按事件
- MergeSortedList
- mac上GitHub Desktop客户端的使用
- 百度推送
- 2016夏季联系——LCA+dfs_order
- GZIP .gz 文件解压与压缩工具类
- HTTP中Get与Post的区别
- android matrix 最全方法详解与进阶(完整篇)
- Android中保持第三方jar包不被混淆
- Hadoop单机模式环境搭建
- CodeForces 689B Mike and Shortcuts
- Project facet Java version xx is not supported
- mysql覆盖索引
- c 里面的free和c++的delete的区别