Package org.miaixz.bus.core.xyz
Class ResourceKit
java.lang.Object
org.miaixz.bus.core.xyz.ResourceKit
Resource资源工具类
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BufferedReader从ClassPath资源中获取BufferedReaderstatic BufferedReader从ClassPath资源中获取BufferedReaderstatic ResourcegetResource(File file) 获取FileResource资源对象static ResourcegetResource(String path) static ResourcegetResource(URL url) 获取UrlResource资源对象static MultiResourcegetResources(String resource) 获取同名的所有资源static MultiResourcegetResources(String resource, ClassLoader classLoader) 获取同名的所有资源 资源的加载顺序是: 1.static URLgetResourceUrl(String resource) 获得资源的URL 路径用/分隔,例如:static URLgetResourceUrl(String resource, Class<?> baseClass) 获得资源相对路径对应的URLstatic EnumerationIterator<URL> getResourceUrlIter(String resource) 获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:static EnumerationIterator<URL> getResourceUrlIter(String resource, ClassLoader classLoader) 获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:getResourceUrls(String resource) 获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:getResourceUrls(String resource, Predicate<URL> filter) 获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:static InputStream从ClassPath资源中获取InputStreamstatic InputStreamgetStreamSafe(String resource) 从ClassPath资源中获取InputStream,当资源不存在时返回nullstatic voidloadAllTo(Properties properties, String resourceName, ClassLoader classLoader, Charset charset, boolean isOverride) 加载指定名称的所有配置文件内容到Properties中static voidloadTo(Properties properties, Resource resource, Charset charset) 加载配置文件内容到Properties中 需要注意的是,如果资源文件的扩展名是.xml,会调用Properties.loadFromXML(InputStream)读取。static byte[]读取Classpath下的资源为byte[]static StringreadString(String resource) 读取Classpath下的资源为字符串,使用UTF-8编码static StringreadString(String resource, Charset charset) 读取Classpath下的资源为字符串
-
Constructor Details
-
ResourceKit
public ResourceKit()
-
-
Method Details
-
readString
读取Classpath下的资源为字符串,使用UTF-8编码- Parameters:
resource- 资源路径,使用相对ClassPath的路径- Returns:
- 资源内容
-
readString
读取Classpath下的资源为字符串- Parameters:
resource- 可以是绝对路径,也可以是相对路径(相对ClassPath)charset- 编码- Returns:
- 资源内容
-
readBytes
读取Classpath下的资源为byte[]- Parameters:
resource- 可以是绝对路径,也可以是相对路径(相对ClassPath)- Returns:
- 资源内容
-
getStream
从ClassPath资源中获取InputStream- Parameters:
resource- ClassPath资源- Returns:
InputStream- Throws:
InternalException- 资源不存在异常
-
getStreamSafe
从ClassPath资源中获取InputStream,当资源不存在时返回null- Parameters:
resource- ClassPath资源- Returns:
InputStream
-
getReader
从ClassPath资源中获取BufferedReader- Parameters:
resource- ClassPath资源- Returns:
InputStream
-
getReader
从ClassPath资源中获取BufferedReader- Parameters:
resource- ClassPath资源charset- 编码- Returns:
InputStream
-
getResourceUrl
获得资源的URL 路径用/分隔,例如:config/a/db.config spring/xml/test.xml
- Parameters:
resource- 资源(相对Classpath的路径)- Returns:
- 资源URL
- Throws:
InternalException- IO异常
-
getResourceUrls
获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径- Returns:
- 资源列表
-
getResourceUrls
获取指定路径下的资源列表 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径filter- 过滤器,用于过滤不需要的资源,null表示不过滤,保留所有元素- Returns:
- 资源列表
-
getResourceUrlIter
获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径- Returns:
- 资源列表
-
getResourceUrlIter
获取指定路径下的资源Iterator 路径格式必须为目录格式,用/分隔,例如:config/a spring/xml
- Parameters:
resource- 资源路径classLoader-ClassLoader- Returns:
- 资源列表
-
getResourceUrl
获得资源相对路径对应的URL- Parameters:
resource- 资源相对路径,null和""都表示classpath根路径baseClass- 基准Class,获得的相对路径相对于此Class所在路径,如果为null则相对ClassPath- Returns:
URL
-
getResource
- Parameters:
path- 路径,可以是绝对路径,也可以是相对路径(相对ClassPath)- Returns:
Resource资源对象
-
getResource
获取UrlResource资源对象- Parameters:
url- URL- Returns:
Resource资源对象
-
getResource
获取FileResource资源对象 -
getResources
获取同名的所有资源- Parameters:
resource- 资源名- Returns:
MultiResource
-
getResources
获取同名的所有资源 资源的加载顺序是:- 1. 首先在本项目下查找资源文件
- 2. 按照classpath定义的顺序,去对应路径或jar包下寻找资源文件
- Parameters:
resource- 资源名classLoader-ClassLoader,null表示使用默认的当前上下文ClassLoader- Returns:
MultiResource
-
loadTo
加载配置文件内容到Properties中 需要注意的是,如果资源文件的扩展名是.xml,会调用Properties.loadFromXML(InputStream)读取。- Parameters:
properties-Properties文件resource- 资源charset- 编码,对XML无效,默认UTF-8
-
loadAllTo
public static void loadAllTo(Properties properties, String resourceName, ClassLoader classLoader, Charset charset, boolean isOverride) 加载指定名称的所有配置文件内容到Properties中- Parameters:
properties-Properties文件resourceName- 资源名,可以是相对classpath的路径,也可以是绝对路径classLoader-ClassLoader,null表示使用默认的当前上下文ClassLoadercharset- 编码,对XML无效,默认UTF-8isOverride- 是否覆盖模式
-