diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/compress/CompressUtil.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/compress/CompressUtil.java index 7b047a12b..34718fd27 100644 --- a/hutool-extra/src/main/java/org/dromara/hutool/extra/compress/CompressUtil.java +++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/compress/CompressUtil.java @@ -183,6 +183,11 @@ public class CompressUtil { return new SevenZExtractor(file); } try { + if (StrUtil.isBlank(archiverName) && file.getName().toLowerCase().endsWith(".tgz")) { + archiverName = "tgz"; + } else if (StrUtil.isBlank(archiverName) && file.getName().toLowerCase().endsWith(".tar.gz")) { + archiverName = "tar.gz"; + } return new StreamExtractor(charset, archiverName, file); } catch (final CompressException e) { final Throwable cause = e.getCause();