Java加载资源文件的几种方法
来源:互联网 发布:网易出品的软件 编辑:程序博客网 时间:2024/05/28 15:28
import java.net.URL; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestMain { public static void main(String[] args) { // ############################################################################################################ // 1:使用本类的Class类的getResource()方法 // 在当前包寻找资源(指定相对路径,其他均返回null。) URL filePathUrl1 = TestMain.class.getResource("beans_sameLocation.xml"); // 在根寻找资源(需要文件分隔符"/",其他均返回null。) URL filePathUrl2 = TestMain.class.getResource("/beans.xml"); // 在不同包内寻找资源(指定相对路径(需要文件分隔符"/"),其他均返回null。) URL filePathUrl3 = TestMain.class.getResource("/test/spring/beanpost/file/beans_diffLocation.xml"); // ############################################################################################################ // 2:使用本类的Class类的ClassLoader类的getResource()方法 // 在相同包内寻找资源,总是返回null。 // URL filePathUrl3 = // TestMain.class.getClassLoader().getResource("beans_sameLocation.xml"); // 在根寻找资源,指定相对路径,其他均返回null。 URL filePathUrl4 = TestMain.class.getClassLoader().getResource("beans.xml"); // 在不同包内寻找资源,指定相对路径,其他均返回null。 URL filePathUrl5 = TestMain.class.getClassLoader().getResource("test/spring/beanpost/file/beans_diffLocation.xml"); // ############################################################################################################ // 3:使用ClassLoader类的getSystemResource()方法 // 在指定包内寻找资源,指定相对路径,其他均返回null。 URL filePathUrl6 = ClassLoader.getSystemResource("test/spring/beanpost/beans_sameLocation.xml"); // 同上 URL filePathUrl7 = ClassLoader.getSystemClassLoader().getResource("test/spring/beanpost/beans_sameLocation.xml"); // 在根寻找,指定相对路径,其他均返回null。 URL filePathUrl8 = ClassLoader.getSystemResource("beans.xml"); // 同上 URL filePathUrl9 = ClassLoader.getSystemClassLoader().getResource("beans.xml"); // ############################################################################################################ // 4:使用Thread加载资源(推荐此方法) // 在指定包内寻找资源,(相对路径),其他均返回null。 filePathUrl6 = Thread.currentThread().getContextClassLoader().getResource("test/spring/beanpost/beans_sameLocation.xml"); // 在根寻找,(相对路径),其他均返回null。 filePathUrl7 = Thread.currentThread().getContextClassLoader().getResource("beans.xml"); // 在不同包内寻找资源,(相对路径),其他均返回null。 filePathUrl8 = Thread.currentThread().getContextClassLoader().getResource("test/spring/beanpost/file/beans_diffLocation.xml"); // ############################################################################################################ System.out.println(filePathUrl1.getFile()); System.out.println(filePathUrl2.getFile()); System.out.println(filePathUrl3.getFile()); System.out.println(filePathUrl4.getFile()); System.out.println(filePathUrl5.getFile()); System.out.println(filePathUrl6.getFile()); System.out.println(filePathUrl7.getFile()); System.out.println(filePathUrl8.getFile()); System.out.println(filePathUrl9.getFile()); System.out.println("----------------------------------------------------------------------------------------"); System.getProperties().list(System.out); System.out.println("----------------------------------------------------------------------------------------"); ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); Animal animal = (Animal) ac.getBean("animal"); System.out.println(animal.speak()); animal.setAge(88); Animal animal0 = (Animal) ac.getBean("animal"); System.out.println(animal0.speak()); ApplicationContext ac1 = new ClassPathXmlApplicationContext("beans.xml"); Animal animal1 = (Animal) ac1.getBean("animal"); System.out.println(animal1.speak()); } }
0 0
- Java加载资源文件的几种方法
- java加载资源文件的几种方式
- java项目资源加载的几种方法
- java获取指定资源文件路径的几种方法
- Java加载资源文件的两种方法
- Java加载资源文件的两种方法
- Java加载资源文件的两种方法
- Java加载资源文件的两种方法
- java加载资源文件的两种方法
- java 加载 velocity文件的几种方法
- 读取资源文件的几种方法
- Spring中加载外部资源文件的几种方式
- java 加载文件的几种方式
- java 几种加载驱动的方法
- java 几种加载驱动的方法
- Android获取资源文件的几种方法
- Android中获取资源文件的几种方法
- 如何读取dll里资源文件 的几种方法
- 程序员必知 —— 编程语言创始人
- Spring+Ibatis框架整合教程
- iOS学习笔记(十七)——文件操作(NSFileManager)
- (十七)jquery动态创建,删除 table 行
- 黑马程序员_为什么需要动态内存分配
- Java加载资源文件的几种方法
- Java中Timer的用法
- 日经春秋 20150528
- android代码混淆相关
- 计算机视觉---3.1---纹理与滤波器
- NSNotificationCenter
- file读写
- iOS 学习资料整理
- 如何将maven和eclipse关联在一起