From f918a9c2e2ec70642dbec55d12f130bfe415c508 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 9 Jun 2022 12:00:30 +0800 Subject: [PATCH] add webp support --- .../java/cn/hutool/core/io/FileTypeUtil.java | 2 + .../cn/hutool/core/io/FileTypeUtilTest.java | 9 ++ .../cn/hutool/extra/management/JavaInfo.java | 107 ++---------------- .../hutool/extra/management/JavaInfoTest.java | 7 +- 4 files changed, 21 insertions(+), 104 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/io/FileTypeUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/FileTypeUtil.java index 05f0eb1e2..79a3a8ebe 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/FileTypeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/FileTypeUtil.java @@ -83,6 +83,8 @@ public class FileTypeUtil { FILE_TYPE_MAP.put("AC9EBD8F", "qdf"); // Quicken (qdf) FILE_TYPE_MAP.put("E3828596", "pwl"); // Windows Password (pwl) FILE_TYPE_MAP.put("2E7261FD", "ram"); // Real Audio (ram) + // https://stackoverflow.com/questions/45321665/magic-number-for-google-image-format + FILE_TYPE_MAP.put("52494646", "webp"); } /** diff --git a/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java index 82d15663e..a0a92b194 100755 --- a/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/FileTypeUtilTest.java @@ -75,4 +75,13 @@ public class FileTypeUtilTest { inputStream.reset(); } + @Test + @Ignore + public void webpTest(){ + // https://gitee.com/dromara/hutool/issues/I5BGTF + final File file = FileUtil.file("d:/test/a.webp"); + final BufferedInputStream inputStream = FileUtil.getInputStream(file); + final String type = FileTypeUtil.getType(inputStream); + Console.log(type); + } } diff --git a/hutool-extra/src/main/java/cn/hutool/extra/management/JavaInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/management/JavaInfo.java index a6198e2e1..dbac91231 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/management/JavaInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/management/JavaInfo.java @@ -1,7 +1,7 @@ package cn.hutool.extra.management; -import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.regex.ReUtil; +import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.SystemUtil; import java.io.Serializable; @@ -19,14 +19,6 @@ public class JavaInfo implements Serializable { private final String JAVA_VENDOR = SystemUtil.get("java.vendor", false); private final String JAVA_VENDOR_URL = SystemUtil.get("java.vendor.url", false); - // 1.1--1.3能否识别? - private final boolean IS_JAVA_1_1 = getJavaVersionMatches("1.1"); - private final boolean IS_JAVA_1_2 = getJavaVersionMatches("1.2"); - private final boolean IS_JAVA_1_3 = getJavaVersionMatches("1.3"); - private final boolean IS_JAVA_1_4 = getJavaVersionMatches("1.4"); - private final boolean IS_JAVA_1_5 = getJavaVersionMatches("1.5"); - private final boolean IS_JAVA_1_6 = getJavaVersionMatches("1.6"); - private final boolean IS_JAVA_1_7 = getJavaVersionMatches("1.7"); private final boolean IS_JAVA_1_8 = getJavaVersionMatches("1.8"); private final boolean IS_JAVA_9 = getJavaVersionMatches("9"); private final boolean IS_JAVA_10 = getJavaVersionMatches("10"); @@ -91,7 +83,6 @@ public class JavaInfo implements Serializable { /** * 返回1位整型的java版本,(取自系统属性:{@code java.version})如:7、8、11、15、17、18,返回1位,java10及其之后的版本返回值为2位 *