日期:2014-05-17  浏览次数:20673 次

java 使用配置文件 路径问题
我是把配置文件放在src下面的,我之前是这样读取的
 pro = new Properties();
  try {
  //读取属性文件
  inputFile = new FileInputStream(filePath);【filepath: src/a.properties】
  //装载文件
  pro.load(inputFile);
  inputFile.close();
用测试类判断是可以读取到数据的,但是我在控制类里面调用方法提示找不到文件,后来一个朋友帮我改成这样可以了
 pro = new Properties();
  try {
  inputFile = (InputStream) c.getResourceAsStream(filePath);)【filepath: /a.properties】


我还是不明白其中的原因,请问是怎么回事啊?
还有 他给我提了两点【第一.不能只读取src下的.第二.用什么方法来读取classes下的文件】我有以下几点疑问?一,src下的和classes下面的配置文件是一样的,为什么不可以只读取src下面的?二,我之前的是取的src下面的配置文件,他修改的使用的是classes下的配置文件,对吗?

不知道表达清楚没有 请大家帮帮忙O(∩_∩)O~

------解决方案--------------------
src中的最终会发布到classes中
------解决方案--------------------
JVM执行的是你的.class文件,不是src里面的.java文件,

你觉得你的.class文件会去哪里找配置文件呢?
------解决方案--------------------
java代码最终都是需要编译成class文件的,其实最终访问的并非你src下的配置文件,而是发布到应用服务器中的对应位置的配置文件,文件夹结构一般是这样的 项目名称/WebRoot/WEB-INF/classes/配置文件
------解决方案--------------------
classes默认为根目录,所以你只需要用/filename.txt来查找就OK了,用src/filename.txt是找不到的
------解决方案--------------------
这个好像是程序发布到tomcat下面的class文件的数据库连接地址吧、。