java獲取專案路徑工具類

duanhao發表於2021-09-09

public class UtilPath {

/**
 * 獲取到classes目錄
 * @return path
 */
public static String getClassPath(){
    String systemName = System.getProperty("os.name");//windows 10
    //判斷當前環境,如果是Windows 要擷取路徑的第一個 '/'
    //indexOf 方法返回一個整數值,指出 String 物件內子字串的開始位置。如果沒有找到子字串,則返回-1
    if(!StringUtils.isBlank(systemName) && systemName.indexOf("Windows") !=-1){
        return UtilPath.class.getResource("/").getFile().toString().substring(1);
    }else{
        return UtilPath.class.getResource("/").getFile().toString();
    }
}
/**
 * 獲取當前物件的路徑
 * @param object
 * @return path
 */
public static String getObjectPath(Object object){
    return object.getClass().getResource(".").getFile().toString();
}
/**
 * 獲取到專案的路徑
 * @return path
 */
public static String getProjectPath(){
    return System.getProperty("user.dir");
}
/**
 * 獲取 root目錄
 * @return path
 */
public static String getRootPath(){
    return getWEB_INF().replace("WEB-INF/", "");
}
/**
 * 獲取輸出HTML目錄
 * @return
 */
public static String getHTMLPath(){
    return getFreePath() + "html/html/";
}
/**
 * 獲取輸出FTL目錄
 * @return
 */
public static String getFTLPath(){
    return getFreePath() + "html/ftl/";
}
/**
 * 獲取 web-inf目錄
 * @return path
 */
public static String getWEB_INF(){
    return getClassPath().replace("classes/", "");
}
/**
 * 獲取模版資料夾路徑
 * @return path
 */
public static String getFreePath(){
    return getWEB_INF() + "ftl/";
}
/**
 * 獲取一個目錄下所有的檔案
 * @param path
 * @return
 */
public static  File[] getFiles(String path){
      File file = new File(path);
      File[] files = file.listFiles();
      return files;
}
/**
 * 獲取當前時間 + 中國時區
 * @return
 */
public static String getDate(){
    SimpleDateFormat sformart=new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss"); 
    String result = sformart.format(new Date());
    result = result.replace("_", "T");
    result += "+08:00";
    return result;
}
/**
 * 不帶結尾的XmlSitemap頭部
 * @return
 */
public static String getXmlSitemap(){
    StringBuffer sb = new StringBuffer()
    .append("" + nextLine())
    .append(""+ nextLine())
    .append(""+ nextLine());
    return sb.toString();
}
/**
 * 文字換行
 * @return
 */
public static String nextLine(){
     String nextLine = System.getProperty("line.separator");
     return nextLine;
}
/**
 * 獲取domain
 * @param request
 * @return
 */
public static String getDomain(HttpServletRequest request) {
    return  ((String) request.getSession().getAttribute("nowPath")).replaceAll("(www.)|(.com)|(.net)|(http://)", "").trim();
}
/**
 * 獲取images 路徑
 * @return
 */
public static String getImages(){
    return getRootPath() + "images/" ;
}
public static void main(String []args)
{
    String url=UtilPath.getClassPath();
    System.out.println(url);
}

}

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1343/viewspace-2808809/,如需轉載,請註明出處,否則將追究法律責任。

相關文章