java项目读取properties路径问题
来源:互联网 发布:哪种编程语言范围广 编辑:程序博客网 时间:2024/06/16 21:37
java项目读取properties路径问题
1.项目结构
2.方法一
/*** 传统方式*/private void test1() throws FileNotFoundException, IOException {// FileInputStream in = new FileInputStream("src/main/resources/properties/url.properties"); // 错误写法1 java项目中这么写是正确的,web项目不行 // FileInputStream in = new FileInputStream("classes/test.properties");//错误写法2 FileInputStream in = new FileInputStream("test.properties");//把test.properties文件copy到tomcate的bin目录下 Properties prop = new Properties(); prop.load(in); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); System.out.println("driver-==-="+driver); System.out.println("url-==-="+url);}
解析:
错误写法1:要是java项目,这么写是正确的,可以读到配置文件,但是web项目就会报找不到路径的错误,因为web项目会把test.properties文件编译到WEB-INF目录下的classes文件夹下。
错误写法2:这么看似没问题了,但是会报跟1一样的错误,因为这是相对路径,谁调用此类就是相对于谁,故这是相对于java虚拟机,本项目时用tomcate启动的java虚拟机,故回去tomcate的bin目录下去找classes/test.properties文件,找不到故报错
错误写法1:要是java项目,这么写是正确的,可以读到配置文件,但是web项目就会报找不到路径的错误,因为web项目会把test.properties文件编译到WEB-INF目录下的classes文件夹下。
错误写法2:这么看似没问题了,但是会报跟1一样的错误,因为这是相对路径,谁调用此类就是相对于谁,故这是相对于java虚拟机,本项目时用tomcate启动的java虚拟机,故回去tomcate的bin目录下去找classes/test.properties文件,找不到故报错
3.方法二
private void test2() throws IOException {System.out.println("test2");InputStream in = this.getServletContext().getResourceAsStream("WEB-INF/classes/test.properties"); Properties prop = new Properties(); prop.load(in); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); System.out.println("driver-==-="+driver); System.out.println("url-==-="+url);}
4.方法三
private void test3() throws FileNotFoundException, IOException {String path = this.getServletContext().getRealPath("WEB-INF/classes/test.properties");//拿到资源在硬盘上的路径FileInputStream in = new FileInputStream(path); System.out.println("test3"); Properties prop = new Properties(); prop.load(in); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); System.out.println("driver-==-="+driver); System.out.println("url-==-="+url);}
5.方法四
private void test4() throws IOException {/** * 读取webroot目录下的配置文件 */ System.out.println("test4"); InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/test11.properties"); Properties prop = new Properties(); prop.load(in); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); System.out.println("driver-==-="+driver); System.out.println("url-==-="+url);}
6.方法五
private void test5() throws IOException {/** * 类装载器方式读取,我常用的方式 */InputStream in = readProp.class.getClassLoader().getResourceAsStream("test.properties");System.out.println("类装载器方式"); Properties prop = new Properties(); prop.load(in); String driver = prop.getProperty("driver"); String url = prop.getProperty("url"); System.out.println("driver-==-="+driver); System.out.println("url-==-="+url);}
0 0
- java项目读取properties路径问题
- JAVA读取properties时路径注意问题,
- JAVA相关问题:java读取properties配置文件路径问题
- 读取Properties文件路径问题!
- 关于java读取properties文件的路径问题
- Java 读取Properties文件时应注意的路径问题
- 关于java读取properties文件的路径问题
- 关于java读取properties文件的路径问题
- java web中读取properties文件时的路径问题
- java web中读取properties文件时的路径问题
- java 读取项目properties文件
- 关于读取properties文件找不到路径问题
- XX.properties文件参数读取路径问题
- .properties文件读取时的路径问题
- 关于读取Properties文件以及路径问题
- java读取properties配置文件问题
- JAVA 读取properties配置文件 - 全局搜索路径
- java通过相对路径读取properties数据
- nyoj77开灯问题 VS poj1218 THE DRUNK JAILER(开关灯问题模板)
- Activity的启动and销毁
- 1-1 Android的生命周期
- LeetCode之Sum Root to Leaf Numbers
- 进制转换
- java项目读取properties路径问题
- 引擎Demo演示-算是一个转折点吧
- HDU 1358 Period(KMP求前缀子串的循环次数)
- poj 2135 Farm Tour 最小费最大流
- web前端选项卡demo
- Hbuilder开发app实战-识岁02-拍照和选取照片
- 低头做人,抬头做事
- 求两个分数的加减乘除,并比较大小
- 142. Linked List Cycle II