diff --git a/CHANGELOG.md b/CHANGELOG.md index 31e482d9f3..ab0a72311f 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * 【core 】 ZipReader增加setMaxSizeDiff方法,自定义或关闭ZipBomb(issue#3018@Github) * 【db 】 Query.of(entity)构建时传入fields(issue#I7M5JU@Gitee) * 【db 】 clickhouse驱动名称变更为com.clickhouse.jdbc.ClickHouseDriver(issue#3224@Github) +* 【core 】 UrlResource增加size方法(issue#3226@Github) ### 🐞Bug修复 * 【core 】 修复MapUtil工具使用filter方法构造传入参数结果问题(issue#3162@Github) diff --git a/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java b/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java index 21f24b2ef4..ab65a90700 100755 --- a/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/resource/UrlResource.java @@ -1,14 +1,14 @@ package cn.hutool.core.io.resource; import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.URLUtil; -import java.io.File; -import java.io.InputStream; -import java.io.Serializable; +import java.io.*; import java.net.URI; import java.net.URL; +import java.net.URLConnection; /** * URL资源访问类 @@ -104,4 +104,14 @@ public File getFile(){ public String toString() { return (null == this.url) ? "null" : this.url.toString(); } + + /** + * 获取资源长度 + * + * @return 资源长度 + * @since 5.8.21 + */ + public long size() { + return URLUtil.size(this.url); + } } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/URLUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/URLUtil.java index fde460ff20..a66463e67a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/URLUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/URLUtil.java @@ -776,4 +776,51 @@ public static String getDataUri(String mimeType, Charset charset, String encodin return builder.toString(); } + + /** + * 获取URL对应数据长度 + *