java读取jar包中的资源文件或properties配置文件路径的方法
2015-09-07 12:16
811 查看
没打jar包之前,是通过
获得当前路径然后再加上配置文件所在的目录获得绝对路径的方式,找到config.properties文件。
可是打了jar包以后马上就出错了,找不到文件!不管是用绝对路径还是相对路径都不行,只好百度之。
参考了这个http://wjl198408.blog.163.com/blog/static/25402147201211494859763/
原来是需要使用 getResourceAsStream 方法来直接获取InputStream对象,而不是通过文件路径获取。
获取完InputStream对象后别忘了再转换成BufferReader,否则后面load的时候还是会报错的。下面贴出完成代码:
String rootPath = Thread.currentThread().getContextClassLoader().getResource("").getFile();
获得当前路径然后再加上配置文件所在的目录获得绝对路径的方式,找到config.properties文件。
可是打了jar包以后马上就出错了,找不到文件!不管是用绝对路径还是相对路径都不行,只好百度之。
参考了这个http://wjl198408.blog.163.com/blog/static/25402147201211494859763/
原来是需要使用 getResourceAsStream 方法来直接获取InputStream对象,而不是通过文件路径获取。
获取完InputStream对象后别忘了再转换成BufferReader,否则后面load的时候还是会报错的。下面贴出完成代码:
public static String readValue(String filePath, String key) { Properties props = new Properties(); try { // InputStream ips = new BufferedInputStream(new FileInputStream(filePath)); InputStream ips = PropertiesUtils.class.getResourceAsStream("/config/app.properties"); BufferedReader ipss = new BufferedReader(new InputStreamReader(ips)); props.load(ipss); String value = props.getProperty(key); return value; } catch (FileNotFoundException e) { System.out.println("无法找到文件:"+filePath); return null; } catch (IOException e) { System.out.println("读文件出错:"+filePath+"---"+e.getMessage()); return null; } }
相关文章推荐
- 重磅消息:JavaFX官方文档翻译完毕
- 重磅消息:JavaFX官方文档翻译完毕
- 从eclipse到Android studio/迁移eclipse的Android项目到Android studio平台的注意事项
- eclipse导出jar包的问题总结
- MAC下安装多版本JDK和切换几种方式
- 在eclipse中如何查找指定文文件
- Spring--开篇 (spring优缺点、模块组件、各个jar包详解)
- java slf4j的用法
- JAVA设计模式——装饰设计模式
- 关于eclipse的使用(导入项目-web)
- eclipse+jetty 配置jndi数据源
- thrift for java的使用
- 【Java】---异常处理
- Java Spring IOC用法
- udp协议基础(转自疯狂java讲义)
- java: 随机访问流RandomAccessFile
- java第五天(方法和数组)
- Java File类的介绍
- android手机连接电脑myeclipse服务器做联机测试
- struts2截取字符串