public abstract class Loaders extends Object
| Constructor and Description |
|---|
Loaders() |
| Modifier and Type | Method and Description |
|---|---|
static Loader |
ant()
创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给
std()资源加载器
示例: |
static Loader |
ant(ClassLoader classLoader)
创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给
std(ClassLoader)资源加载器
示例: |
static Loader |
ant(Loader delegate)
创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给delegate资源加载器
示例:
|
static Loader |
file(File root)
创建文件资源加载器
|
static Loader |
file(URL fileURL)
创建文件资源加载器
|
static Loader |
file(URL context,
File root)
创建文件资源加载器
|
static Loader |
jar(File file)
创建JAR包资源加载器
|
static Loader |
jar(URL jarURL)
创建JAR包资源加载器
|
static Loader |
jar(URL context,
JarFile jarFile)
创建JAR包资源加载器
|
static Loader |
pkg()
|
static Loader |
pkg(ClassLoader classLoader)
创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给
std(ClassLoader)资源加载器
示例:在std()创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂 |
static Loader |
pkg(Loader delegate)
创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给delegate资源加载器
通过包装一个实际资源加载器可以实现更灵活的加载方式,例如:
|
static Loader |
regex()
创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给
std()资源加载器
示例: |
static Loader |
regex(ClassLoader classLoader)
创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给
std(ClassLoader)资源加载器
示例: |
static Loader |
regex(Loader delegate)
创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器,
在这个创建方法中,实际委派给delegate资源加载器
示例:
|
static Loader |
std()
创建 classpath 资源加载器,也就是对
ClassLoader.getResources(String)的增强封装
默认采用 Thread.currentThread()的Thread.getContextClassLoader(),作为ClassLoader,
如果当前线程的上下文类加载器为null 则采用ClassLoader.getSystemClassLoader(). |
static Loader |
std(ClassLoader classLoader)
创建 classpath 资源加载器,并且指定
ClassLoader
示例: |
public static Loader std()
ClassLoader.getResources(String)的增强封装
默认采用 Thread.currentThread()的Thread.getContextClassLoader(),作为ClassLoader,
如果当前线程的上下文类加载器为null 则采用ClassLoader.getSystemClassLoader().
示例:
1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录
2. Loaders.std().load("org/", true); 加载classpath中"io/"目录下的所有资源,而且包括子目录
public static Loader std(ClassLoader classLoader)
ClassLoader
示例:
1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录
2. Loaders.std().load("org/", true); 加载classpath中"org/"目录下的所有资源,而且包括子目录
classLoader - 加载器public static Loader pkg()
std()资源加载器
示例:在std()创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂
1. Loaders.pkg().load("io.loadkit"); 加载classpath中"io.loadkit"包下的所有资源,但不包括子包
2. Loaders.pkg().load("io", true); 加载classpath中"io"包下的所有资源,而且包括子子包
public static Loader pkg(ClassLoader classLoader)
std(ClassLoader)资源加载器
示例:在std()创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂
1. Loaders.pkg().load("org.aoju.bus.core.loader"); 加载classpath中"org.aoju.bus.core.loader"包下的所有资源,但不包括子包
2. Loaders.pkg().load("org", true); 加载classpath中"org"包下的所有资源,而且包括子子包
classLoader - 加载器public static Loader pkg(Loader delegate)
1. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.loader.*"); 加载org.aoju.bus.core.loader包下的资源,但不递归加载子包
2. Loaders.pkg(Loaders.ant()).load("org.**"); 加载io包以及子包的资源,而且递归加载任意层次的子包
3. Loaders.pkg(Loaders.ant()).load("org.aoju.bus.core.load???.*"); 加载io包下以load开头并且跟着三个字符的子包的所有资源
delegate - 加载器public static Loader ant()
std()资源加载器
示例:
1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
2. Loaders.ant().load("io/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
public static Loader ant(ClassLoader classLoader)
std(ClassLoader)资源加载器
示例:
1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
classLoader - 加载器public static Loader ant(Loader delegate)
1. Loaders.ant().load("org/aoju/bus/core/loader/*"); 加载org/aoju/bus/core/loader/目录下的资源,但不包括子目录
2. Loaders.ant().load("org/**"); 加载io/目录下的资源以及递归加载所有子目录的资源
3. Loaders.ant().load("org/aoju/bus/core/loader/*Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
delegate - 加载器public static Loader regex()
std()资源加载器
示例:
1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
2. Loaders.regex().load("org/.*"); 加载io包下所有资源
public static Loader regex(ClassLoader classLoader)
std(ClassLoader)资源加载器
示例:
1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
2. Loaders.regex().load("org/.*"); 加载io包下所有资源
classLoader - 加载器public static Loader regex(Loader delegate)
1. Loaders.regex().load("org/aoju/bus/core/loader/\\w+Loader.class"); 加载org/aoju/bus/core/loader/目录下以Loader.class结尾的资源
2. Loaders.regex().load("org/.*"); 加载io包下所有资源
delegate - 加载器public static Loader file(File root) throws IOException
root - 根目录IOException - I/O 异常public static Loader file(URL fileURL)
fileURL - 文件根目录URL地址public static Loader file(URL context, File root)
context - 文件根目录URL上下文root - 根目录public static Loader jar(File file) throws IOException
file - JAR包文件IOException - I/O 异常public static Loader jar(URL jarURL) throws IOException
jarURL - JAR包URL地址IOException - I/O 异常Copyright © 2019. All rights reserved.