高手指点,为什么读取不到Properties里面的属性?

关键我是洛哥 2012-12-12 12:17:52
我在src下面放了一个properties文件 用测试类的main方法可以得到 启动Tomcat后在拦截器里面得不到
InputStream inStream = PropertiesUtil.class.getClassLoader().getSystemResourceAsStream(file);
Debug后 发现inStream = null why? 难道上述语句不是加载WEB-INF下的东东?
有没有在不写路径情况下读取到WEB-INF/classes中properties文件的方法

public static String getPropertByPath(String filePath ,String fileName ,String propKey) throws IOException{
//构造文件路径
String file = fileName ;
//如果路径为空则默认是src下的文件
if(filePath!=null&&!"".equals(filePath.trim())) file = filePath+"/"+fileName;
//读取文件并构造成文件流
InputStream inStream = PropertiesUtil.class.getClassLoader().getSystemResourceAsStream(file);
//构造属性并装载文件
Properties properties = new Properties();
properties.load(inStream);
return (String)properties.get(propKey);
}
...全文
540 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
关键我是洛哥 2012-12-13
  • 打赏
  • 举报
回复
引用 7 楼 lihxa2002 的回复:
java.util.ResourceBundle 中的getResourceAsStream 参考http://blog.csdn.net/frank3g/article/details/3340858
嗯 这个可以有
被偷的香蕉 2012-12-12
  • 打赏
  • 举报
回复
...地球人都知道查路径问题.
笑莫问 2012-12-12
  • 打赏
  • 举报
回复
1、可以将properties文件的路径配置到web.xml的参数中,项目中可以直接读取。 2、过滤器的初始化时,FilterConfig类可以通过getServletContext().getRealPath("WEB-INF/classes/")来取到class路径。
跑步的小伙子 2012-12-12
  • 打赏
  • 举报
回复
java.util.ResourceBundle 中的getResourceAsStream 参考http://blog.csdn.net/frank3g/article/details/3340858
suciver 2012-12-12
  • 打赏
  • 举报
回复
InputStream inStream = PropertiesUtil.class.getClassLoader().getSystemResourceAsStream(file); 这个语句加载的就是web-inf/classes下面的东西了
鸡肋啊 2012-12-12
  • 打赏
  • 举报
回复
引用 4 楼 yao752915708 的回复:
引用 3 楼 liukewengx 的回复: 不写路径能得到文件流吗?不写绝对路径起码也得知道相对路径才行吧 在类的main方法中读取src可以不写
那是因为main方法文件和资源文件的相对路径是一样的
关键我是洛哥 2012-12-12
  • 打赏
  • 举报
回复
引用 3 楼 liukewengx 的回复:
不写路径能得到文件流吗?不写绝对路径起码也得知道相对路径才行吧
在类的main方法中读取src可以不写
鸡肋啊 2012-12-12
  • 打赏
  • 举报
回复
不写路径能得到文件流吗?不写绝对路径起码也得知道相对路径才行吧
悲催的程序猿 2012-12-12
  • 打赏
  • 举报
回复
引用 楼主 yao752915708 的回复:
我在src下面放了一个properties文件 用测试类的main方法可以得到 启动Tomcat后在拦截器里面得不到 InputStream inStream = PropertiesUtil.class.getClassLoader().getSystemResourceAsStream(file); Debug后 发现inStream = null why? 难……
+1
RomanticRabbit 2012-12-12
  • 打赏
  • 举报
回复
ps = new Properties(); fis = new FileInputStream(getPath() + "config.txt"); ps.load(new DataInputStream(fis)); ps.getPropert("dasfdsaf");

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧