package com.mail.common;

import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;

/**
 * JAVA类获取项目WebRoot目录
 */
public class PathUtil {
	//传入classes可以得到WEB-INF的路径,传入WEB-INF可得到WebRoot路径
	public static void main(String[] args) {
		PathUtil pathUtil = new PathUtil();
		System.out.println("The Path is:" + pathUtil.getWebInfPath("classes"));
	}
	
	private static PathUtil instance=null;
	
	public static PathUtil getInstance(){
		if(instance==null){
			instance=new PathUtil();
		}
		return instance;
	}
	
	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("classes");
		}

		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;
	}
}
最近下载更多
kong.yee  LV40 2020年7月17日
Jenson0503  LV9 2018年2月9日
danielnj  LV25 2016年1月11日
wyx065747  LV67 2015年12月22日
wzg356  LV18 2015年1月3日
watfgzs  LV21 2014年11月17日
holysir  LV28 2013年12月28日
vic  LV8 2013年9月2日
菜鸟战斗  LV23 2013年6月28日
smallcarp  LV19 2013年4月27日
最近浏览更多
xp95323  LV14 2023年11月27日
meng2124 2023年10月13日
暂无贡献等级
981352576  LV4 2022年5月11日
微信网友_5945726344056832  LV2 2022年5月5日
jijidada  LV1 2021年11月15日
66409892 2021年3月13日
暂无贡献等级
zjzckj  LV1 2021年1月10日
bek123  LV2 2020年12月3日
zhangxinqing1  LV6 2020年10月6日
kong.yee  LV40 2020年7月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友