首页 > 代码库 > java getResourcesAsStream()如何获取WEB-INF下的文件流
java getResourcesAsStream()如何获取WEB-INF下的文件流
getResourcesAsStream()来读取.properties文件,但是getResourcesAsStream()仅在java项目时能获取根目录的文件;
在web项目中,getResourcesAsStream()是获取classes目录的根路径
例如:文件在WEB-INF/conf/conf.properties。
private Properties readConf(){
InputStream is = null;
try{
//获取classes的路径,注意:由于转码的原因需要将%20(空格转码后的字符)替换为空格 String classesUrl = this.getClass().getResource("").getPath().replaceAll("%20", " ");
//获取web项目的根路径,拼接文件路径 String filePath = classesUrl.substring(0, classesUrl.indexOf("WEB-INF")) + "WEB-INF/xxx/xxx.properties";
//读取 Properties p = new Properties();
is = new FileInputStream(filePath);
p.load(is);
return p;
} catch(IOException e){
e.printStackTrace();
} finally{
try{
if(is !=null){
is.close();
}
}catch(IOException e){
e.printStackTrace();
}
}
return null;
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。