Java零碎总结
2024-09-25 17:22:30
获取当前类运行的根目录(即classpath,如bin、classes、AppName等)的方式有:
1、Thread.currentThread().getContextClassLoader().getResource("").getPath()
2、ClassLoader.getSystemClassLoader().getResource("").getPath()
3、XX.class.getResource("/").getPath(),注意这个要有/,不然它会具体的某个包而不是classes目录,上面的不能有/否则报错
注:用System.getProperty("user.dir")的方式对于webapp而言不可取。
获取webapp的WEB-INF目录可以用:this.getServletContext().getRealPath("/").concat("WEB-INF/")
获取配置文件可以用:Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties")
,注意这个方法不能用来获取如.java文件否则会报错(报错原因最终应该是URLClassPath的内部类的FileLoader在getResource中check时发现.java是不允许的后缀所以产生异常从而return null,用了5个反编译器那部分代码都没有反编译出来)。
最新文章
- 22. javacript高级程序设计-高级技巧
- python3+任务计划实现的人人影视网站自动签到
- iOS edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解
- Eclipse:启动时提示";Failed to load the JNI shared library";的解决方案
- 0910 noip模拟
- awk 统计数据在文件中的出现次数
- matplotlib 绘制柱状图的几个例子
- The New Debugger
- BUILD_BUG_ON 的解释
- JAVA面试题相关基础知识
- UVAlive3126 Taxi Cab Scheme(DAG的最小路径覆盖)
- POJ1850-Code 递推数学
- .net core 使用Redis的发布订阅
- 使用TransactionScope(轻量级事务)实现数据库操作事务
- jenkins创建pipeline
- Android开发学习之路--Android系统架构初探
- 如何安装 PhoneGap / Cordova (for Win10)
- ApplicationListener详解
- SpringBoot+Jpa+MySql学习
- Gnome增加消息提醒extension ( Fedora 28 )
热门文章
- 使用canvas绘制时钟 (http://heeroluo.net/Article/Detail/95)
- mysql数据库表卡死解决方法
- MVC Code First(数据模型实例讲解)
- c++头文件重复引用问题
- Servlet之会话(Session)以及会话追踪技术(Cookie),(URL重写)和(隐藏表单域)
- PHP如何强制下载文件
- NGUI_Input
- OBS源码解析(1)main函数
- python入门基础
- 不用分支语句实现1+2+。。。+n