LocationPathUtil
package com.css.common.util;
import java.net.URL;
import java.util.Properties;
/**
?* 得到服務器的相對路徑
?*
?* @version 1.0
?*
?*/
public class LocationPathUtil {
?/**
? * 單利模式
? */
?private static LocationPathUtil config = new LocationPathUtil();
?private LocationPathUtil() {
?}
?public static LocationPathUtil getInstance() {
??return config;
?}
?/**
? * 這個方法獲得配置文件的路徑
? *
? * @param config
? *??????????? 配置文件的名稱
? * @return 返回配置文件路徑字符串,格式為 盤符:\·········\WEB-INF
? */
?public static String getPath(String config) {
??URL url = LocationPathUtil.class.getClassLoader().getResource("");
??Properties props=System.getProperties(); //系統屬性
??String os = props.getProperty("os.name");
??String xmlPath = url.getPath().substring(0,url.getPath().lastIndexOf("/"));
??xmlPath = xmlPath.substring(0, xmlPath.lastIndexOf("/"));
??xmlPath += config + "";
??xmlPath = unicode2Char(xmlPath);
??String temp=xmlPath.substring(1);
??if(os.indexOf("Windows") != -1){
???return temp;
??}else if(os.indexOf("Linux") != -1){
???return "/"+temp;
??}
??return null;
?}
?/**
? * <p>
? * 處理路徑中中文問題
? * </p>
? * <p>
? * 我們讀取出來的路徑是一個acsi類型的字符串,通過這個方法將這個路徑轉換成UTF-8類型的
? * </p>
? *
? * @param s
? *??????????? 配置文件字符串
? * @return 返回轉換字符編碼之后的字符串
? */
?private static String unicode2Char(String s) {
??String _s = null;
??String s1 = null;
??String s2 = null;
??int i = 0, j = 0;
??if (s.indexOf("%20") != -1) {
???s = s.replaceAll("%20", " ");
??}
??try {
???while (s.indexOf("%") != -1) {
????i = s.indexOf("%") + 1;
????j = i + 8;
????s1 = s.substring(0, i - 1);
????s2 = s.substring(j);
????s = s.substring(i, j);
????s = s1+ new String(new byte[] {
??????(byte) Integer.parseInt(s.substring(0,2), 16),
??????(byte) Integer.parseInt(s.substring(3,5), 16),
??????(byte) Integer.parseInt(s.substring(6,8), 16) }, "utf-8") + s2;}
??} catch (Exception ex) {
???ex.printStackTrace();
??}
??return s;
?}
}
總結
以上是生活随笔為你收集整理的LocationPathUtil的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FormatUtil
- 下一篇: 黄山到阿克苏克孜尔尕哈土塔会经过哪些地方