1. 程式人生 > >java專案路徑的獲取--靜態化路徑工具類

java專案路徑的獲取--靜態化路徑工具類

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;


/**
 * 
 * 靜態化路徑工具類
 */
public class UtilPath {

	/**
	 * 獲取到classes目錄
	 * @return path
	 */
	public static String getClassPath(){
		String systemName = System.getProperty("os.name");
		
		//判斷當前環境,如果是Windows 要擷取路徑的第一個 '/'
		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("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + nextLine())
		.append("<?xml-stylesheet type=\"text/xsl\" href=\"sitemap.xsl\"?>"+ nextLine())
		.append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">"+ 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/" ;
	}
	
}

相關推薦

java專案路徑獲取--靜態路徑工具

import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org

根據網路url圖片路徑獲取圖片位元組陣列工具

package com.hzy.oss.util; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.

Java專案開發中關於classpath路徑的理解

在做專案的過程中,經常會遇到在classpath下載入配置檔案,但是對於classpath的理解確一直很模糊。 1、專案src路徑下的.java檔案編譯之後的檔案會存放在WEB-INF/classes路徑下,預設的classpath路徑即為WEB-INF/cla

在Vue專案使用quill-editor帶樣式編輯器(更改插入圖片和視訊) 運用vue-quilt-editor編寫富文字編輯器 自定義圖片路徑 獲取後臺返回路徑

一、首先在main.js  引入 vue-quilt-editorimport VueQuillEditor from 'vue-quill-editor'import 'quill/dist/quill.core.css'import 'quill/dist/quill.s

Windows系統中,給Java專案指定jdl版本及路徑的方式(Windows系統中關於jdk相容性的問題)

今天在部署專案的時候,發現伺服器上邊部署的還是jdk1.6,經過和領導商量,領導說這個jdk1.6還不能動,因為上邊還有一個非常重要的專案在上邊呢。 後來領導讓我搭建一臺虛擬機器,我感覺太慢,找了修改Tomcat裡邊的環境變數這麼個方法。 主要參考這篇部落格: https://jingy

java禁止實例工具

pre 創建 blog rgs ram 工具 spa div class public class Q { /** * @param args */ public static void main(String[] arg

spring專案中 通過自定義applicationContext工具獲取到applicationContext上下文物件

spring專案在伺服器啟動的時候 spring容器中就已經被建立好了各種物件,在我們需要使用的時候可以進行呼叫. 工具類程式碼如下 import org.springframework.beans.BeansException; import org.springframewo

Java專案效能監控和調優工具-Javamelody

JavaMelody能夠在執行環境監測Java或Java EE應用程式伺服器。並以圖表的形式顯示:Java記憶體和JavaCPU使用情況,使用者Session數量,JDBC連線數,和http請求、sql請求、jsp頁面與業務介面方法(EJB3、spring、Guice)的

Java SpringMVC專案匯出excel多種類對應工具整理(util)

上一章介紹如何匯入excel進系統處理成MAP集合(詳情請看上提供的連結),這次我又整理了一下如何快速匯出excel的工具。 1.匯出無表頭excel 檔案單個工作表(sheet),【fileName是標題名,titleList是列名,list就是

codeblock新增標頭檔案路徑靜態路徑(轉自CSDN使用者jiao319)

通常在一些專案中需要使用外部的標頭檔案和靜態庫檔案,codeblock通過如下方法新增標頭檔案和庫檔案。以codeblock 10.05為例新增標頭檔案:依次點選project->bulid options->Search directories,在該標籤頁中點

java獲取日誌記錄通用工具

日誌註解類: /** * 日誌註解類 * * @author: Rodge * @time: 2018年10月07日 下午11:29:10 * @version: V1.0.0 */ @Retention(RetentionPolicy.RUNT

JAVA專案一:圖形介面計算器

最終效果圖: 專案流程: 第一步:實現圖形化介面(新增計算器的 Button 和 用於顯示輸入數字、輸出結果的JTextField等) 第二步:給按鈕和文字框新增滑鼠監聽事件。 第三步:實現加減乘除、開方、平方、清零和退格功能。 開方運算:

VC++ MFC 獲取檔案路徑 獲取資料夾路徑

//獲取資料夾的路徑 CString strPath = _T(""); CFileDialog Open(TRUE,_T("*.bmp"),NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,_T("Bitmap Files (*

Java序列和反序列超強工具(包含tif圖片與其他格式互轉)

import java.awt.image.RenderedImage; import java.awt.image.renderable.ParameterBlock; import java.io.BufferedInputStream; import java.io.

android 獲取手機信息工具

telephony == 系統 設備 android pack devices 信息 context package com.yqy.yqy_listviewheadview; import android.content.Context; import androi

java分頁的實現(後臺工具和前臺jsp頁面)

cal else static pre cti per servle reac tint 1、首先,新建一個類Page.java 1 public class Page implements Serializable { 2 private static fi

java與javascript對cookie操作的工具

check cells ram tco expire turn get servle request Java對cookie的操作 package cn.utils; import java.util.HashMap; import java.util.Map;

Java代碼調用HTTP請求工具

style java face follow ebo win targe gin left 匾m睬守肪2w雲磷62炒ohttp://www.facebolw.com/space/2105109/follower k8r讜嗆此8孤jzhttp://www.facebolw.

java基礎之JDBC三:簡單工具的提取及應用

註冊 args 釋放資源 file void tex 用戶名 SQ lose 簡單工具類: public class JDBCSimpleUtils { /** * 私有構造方法 */ private JDBCSimpleU

基於Java反射的map自動裝配JavaBean工具設計

person urn exception map.entry ati test javabean 好的 declare 我們平時在用Myabtis時不是常常需要用map來傳遞參數,大體是如下的步驟: public List<Role> findRoles(M