ZipUtil.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package jnpf.util;
  2. import net.lingala.zip4j.ZipFile;
  3. import net.lingala.zip4j.exception.ZipException;
  4. import net.lingala.zip4j.model.ZipParameters;
  5. import net.lingala.zip4j.model.enums.CompressionLevel;
  6. import net.lingala.zip4j.model.enums.CompressionMethod;
  7. import java.io.File;
  8. import java.io.InputStream;
  9. public class ZipUtil {
  10. /**
  11. * 压缩文件
  12. * @param zipFilePath zip文件
  13. * @param filePath 文件路径
  14. * @param newFileName 在zip中的文件名称
  15. * @throws ZipException
  16. */
  17. public static void fileAddToZip(String zipFilePath, String filePath, String newFileName) throws Exception {
  18. ZipFile zipFile = new ZipFile(new File(zipFilePath));
  19. ZipParameters zipParameters = new ZipParameters();
  20. zipParameters.setCompressionMethod(CompressionMethod.DEFLATE); //设置压缩方法
  21. zipParameters.setCompressionLevel(CompressionLevel.NORMAL); ////设置压缩级别
  22. zipParameters.setFileNameInZip(newFileName);
  23. zipFile.addFile(filePath, zipParameters);
  24. }
  25. /**
  26. * 压缩文件
  27. * @param zipFilePath zip文件
  28. * @param inputStream 文件输入流
  29. * @param newFileName 在zip中的文件名称
  30. * @throws ZipException
  31. */
  32. public static void fileAddToZip(String zipFilePath, InputStream inputStream, String newFileName) throws Exception {
  33. ZipFile zipFile = new ZipFile(new File(zipFilePath));
  34. ZipParameters zipParameters = new ZipParameters();
  35. zipParameters.setCompressionMethod(CompressionMethod.DEFLATE); //设置压缩方法
  36. zipParameters.setCompressionLevel(CompressionLevel.NORMAL); ////设置压缩级别
  37. zipParameters.setFileNameInZip(newFileName);
  38. zipFile.addStream(inputStream, zipParameters);
  39. }
  40. public static void main(String[] args) throws Exception {
  41. fileAddToZip("D:/xx/xpx.zip", "D:/xx/运行.txt", "运行2222.txt");
  42. System.out.println("生成成功");
  43. }
  44. }