关于java普通类怎样获取当前的WebRoot目录。

前阵子公司安排去另一个项目组帮忙,其中用到了FCKeditor。FCKeditor我们都知道,是一款不错的上传下载的插件,由于刚刚接触FCKeditor,而且之前开发人员由于一些原因离职,所以我开始慢慢的探索FCKeditor。其中要求FCKeditor的文件存储目录随着项目变化而变化,即不是写死为一个固定硬盘路径。可悲的我连路径也找不到,到了最后终于找到了,却不知道怎么改。于是自己参考网上一个例子,整理了一个java类获取WebRoot目录方法,供大家使用。

public String getWebInfPath(String index4Str) { URL url = getClass().getProtectionDomain().getCodeSource() .getLocation(); String path = url.toString(); int index = path.indexOf(index4Str); if (index == -1) { index = path.indexOf("WEB-INF"); } if (index == -1) { index = path.indexOf("bin"); } path = path.substring(0, index); if (path.startsWith("zip")) {// 当class文件在war中时,此时返回zip:D:/...这样的路径 path = path.substring(4); } else if (path.startsWith("file")) {// 当class文件在class文件中时,此时返回file:/D:/...这样的路径 path = path.substring(6); } else if (path.startsWith("jar")) {// 当class文件在jar文件里面时,此时返回jar:file:/D:/...这样的路径 path = path.substring(10); } try { path = URLDecoder.decode(path, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return path; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值