在Web项目中加载资源文件的特别之处在于其加载资源文件不能采用绝对路径,必须根据项目 根路径来取的,针对如此特殊之处,在加载Web中的资源文件能够采起如下两种方式:ide
一、MessageResourcesspa
MessageResources能够根据项目的根路径来取得资源文件信息,只要propertes文件位于项目根路径下就能够取得。xml
- MessageResources ms = MessageResources.getMessageResources("beanConfig");
- System.out.println(ms.getMessage("msg"));
getMessage()方法是根据资源文件中的key取得相应的value。例子的资源文件位于项目Src目录下,若是还有更深的路径能够采用XXX.beanConfig或者XXX/beanConfig之类的。资源
二、采用Properties来获取本地Resourceget
这种方式经过ClassPathResource来加载一个项目本地化文件,而后获取到其绝对路径,再经过Properties类load File的方式来读取。string
- Resource resource = new ClassPathResource("config/beanConfig.properties");
- String path = resource.getURI().getPath();
- Properties p= new Properties();
- p.load(new FileInputStream(new File(path)));
- String str = p.getProperty("msg");
- System.out.println(str);
这两种方式的区别在于前者是Message加载方式,当找不到文件时返回的是null;后则采用的是IO方式,当找不到文件时会抛出异常。it