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文件的数据库连接地址吧、。