java獲取項目路徑
阿新 • • 發佈:2017-05-27
getpath his row file null 項目 root sta name
import java.io.File; /** * new File("..\path\abc.txt") 中的三個方法獲取路徑的方法 <br> * 1: getPath() 獲取相對路徑,例如 ..\path\abc.txt <br> * 2: getAbslutlyPath() 獲取絕對路徑,但可能包含 ".." 或 "." 字符,例如D:\otherPath\..\path\abc.txt <br> * 3: getCanonicalPath() 獲取絕對路徑,但不包含 ".." 或 "." 字符,例如 D:\path\abc.txt*/ public class PathUtil { private static String webRootPath; private static String rootClassPath; @SuppressWarnings("rawtypes") public static String getPath(Class clazz) { String path = clazz.getResource("").getPath(); return new File(path).getAbsolutePath(); }public static String getPath(Object object) { String path = object.getClass().getResource("").getPath(); return new File(path).getAbsolutePath(); } public static String getRootClassPath() { if (rootClassPath == null) { try { String path = PathUtil.class.getClassLoader().getResource("").toURI().getPath(); rootClassPath = new File(path).getAbsolutePath(); } catch (Exception e) { String path = PathUtil.class.getClassLoader().getResource("").getPath(); rootClassPath = new File(path).getAbsolutePath(); } } return rootClassPath; } public static String getPackagePath(Object object) { Package p = object.getClass().getPackage(); return p != null ? p.getName().replaceAll("\\.", "/") : ""; } public static File getFileFromJar(String file) { throw new RuntimeException("Not finish. Do not use this method."); } public static String getWebRootPath() { if (webRootPath == null) webRootPath = detectWebRootPath(); return webRootPath; } public static void setWebRootPath(String webRootPath) { if (webRootPath == null) return; if (webRootPath.endsWith(File.separator)) webRootPath = webRootPath.substring(0, webRootPath.length() - 1); PathUtil.webRootPath = webRootPath; } private static String detectWebRootPath() { try { String path = PathUtil.class.getResource("/").toURI().getPath(); return new File(path).getParentFile().getParentFile().getCanonicalPath(); } catch (Exception e) { throw new RuntimeException(e); } } }
java獲取項目路徑