Class Loaders
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Loaderant()创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给std()资源加载器 示例:static Loaderant(ClassLoader classLoader) 创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给std(ClassLoader)资源加载器 示例:static Loader创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给delegate资源加载器 示例:static Loader创建文件资源加载器static Loader创建文件资源加载器static Loader创建文件资源加载器static Loader创建JAR包资源加载器static Loader创建JAR包资源加载器static Loader创建JAR包资源加载器static Loadernat()创建lib包资源加载器static Loaderpkg()static Loaderpkg(ClassLoader classLoader) 创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给std(ClassLoader)资源加载器 示例:在std()创建的资源加载器中加载类资源路径表达实际上不太直观,往往采用包名的方式更清晰易懂static Loader创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给delegate资源加载器 通过包装一个实际资源加载器可以实现更灵活的加载方式,例如:static Loaderregex()创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给std()资源加载器 示例:static Loaderregex(ClassLoader classLoader) 创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给std(ClassLoader)资源加载器 示例:static Loader创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给delegate资源加载器 示例:static Loaderstd()创建 classpath 资源加载器,也就是对ClassLoader.getResources(String)的增强封装 默认采用Thread.currentThread()的Thread.getContextClassLoader(),作为ClassLoader, 如果当前线程的上下文类加载器为null则采用ClassLoader.getSystemClassLoader().static Loaderstd(ClassLoader classLoader) 创建 classpath 资源加载器,并且指定ClassLoader示例:
-
Constructor Details
-
Loaders
public Loaders()
-
-
Method Details
-
std
创建 classpath 资源加载器,也就是对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/"目录下的所有资源,而且包括子目录
- Returns:
- classpath 资源加载器
-
std
创建 classpath 资源加载器,并且指定ClassLoader示例:1. Loaders.std().load("org/aoju/bus/core/loader"); 加载classpath中"org/aoju/bus/core/loader"目录下的所有资源,但不包括子目录
2. Loaders.std().load("org/", true); 加载classpath中"org/"目录下的所有资源,而且包括子目录
- Parameters:
classLoader- 加载器- Returns:
- classpath 资源加载器
-
pkg
-
pkg
创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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"包下的所有资源,而且包括子子包
- Parameters:
classLoader- 加载器- Returns:
- 按包名来加载的资源加载器
-
pkg
创建按包名来加载的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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开头并且跟着三个字符的子包的所有资源
- Parameters:
delegate- 加载器- Returns:
- 按包名来加载的资源加载器
-
ant
创建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结尾的资源
- Returns:
- 按包名来加载的资源加载器
-
ant
创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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结尾的资源
- Parameters:
classLoader- 加载器- Returns:
- 按包名来加载的资源加载器
-
ant
创建ANT风格路径表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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结尾的资源
- Parameters:
delegate- 加载器- Returns:
- 按包名来加载的资源加载器
-
regex
-
regex
创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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包下所有资源
- Parameters:
classLoader- 加载器- Returns:
- 按包名来加载的资源加载器
-
regex
创建正则表达式的资源加载器,这是一个委派加载器,自身并没有资源加载逻辑而是委派给实际的资源加载器, 在这个创建方法中,实际委派给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包下所有资源
- Parameters:
delegate- 加载器- Returns:
- 按包名来加载的资源加载器
-
file
创建文件资源加载器- Parameters:
root- 根目录- Returns:
- 文件资源加载器
- Throws:
IOException- I/O 异常
-
file
-
file
-
jar
创建JAR包资源加载器- Parameters:
file- JAR包文件- Returns:
- AR包资源加载器
- Throws:
IOException- I/O 异常
-
jar
创建JAR包资源加载器- Parameters:
jarURL- JAR包URL地址- Returns:
- 文件资源加载器
- Throws:
IOException- I/O 异常
-
jar
-
nat
创建lib包资源加载器从当前JAR归档总加载动态库信息dll/so加载库 1.将文件从当前JAR存档复制到系统临时目录 2.JAR中的文件被复制到系统临时目录中,然后加载。退出后将删除临时文件.
- Returns:
- 资源加载器
-