package aiyh.utils.entity; import org.jetbrains.annotations.NotNull; import weaver.file.FileUpload; import weaver.system.SystemComInfo; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths; import java.util.UUID; import java.util.zip.ZipOutputStream; /** * @author EBU7-dev1-ayh * @create 2021/10/25 0025 17:38 * zipoutputstaream */ public class AZipOutputStream extends ZipOutputStream { private ZipOutputStream zipOutputStream; public static String filePath; private OutputStream out; static { filePath = FileUpload.getCreateDir(new SystemComInfo().getFilesystem()) + "tempfile" + File.separator; filePath += "zip" + File.separator + System.currentTimeMillis() + UUID.randomUUID() + ".zip"; } public AZipOutputStream(@NotNull OutputStream out) { super(out); this.out = out; } public AZipOutputStream(@NotNull OutputStream out, @NotNull Charset charset) { super(out, charset); this.out = out; } @Override public void close() throws IOException { try { Files.deleteIfExists(Paths.get(AZipOutputStream.filePath)); } catch (IOException e) { e.printStackTrace(); }finally { out.flush(); super.flush(); super.close(); out.close(); } } public ZipOutputStream getZipOutputStream() { return zipOutputStream; } public void setZipOutputStream(ZipOutputStream zipOutputStream) { this.zipOutputStream = zipOutputStream; } }