本文整理了Java中com.alibaba.citrus.util.FileUtil.normalizePath()
方法的一些代码示例,展示了FileUtil.normalizePath()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FileUtil.normalizePath()
方法的具体详情如下:
包路径:com.alibaba.citrus.util.FileUtil
类名称:FileUtil
方法名:normalizePath
[英]规格化路径。规则如下:
""
。""
。代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path) throws IllegalPathException {
return normalizePath(path, false, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path) throws IllegalPathException {
return normalizePath(path, false, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path) throws IllegalPathException {
return normalizePath(path, false, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, false, false, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化绝对路径。
* <p>
* 该方法返回以“<code>/</code>”开始的绝对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeAbsolutePath(String path) throws IllegalPathException {
return normalizePath(path, true, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化相对路径。
* <p>
* 该方法返回不以“<code>/</code>”开始的相对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeRelativePath(String path) throws IllegalPathException {
return normalizePath(path, false, true, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, false, false, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化路径。规则如下:
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空绝对路径返回"/",空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, false, false, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化相对路径。
* <p>
* 该方法返回不以“<code>/</code>”开始的相对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeRelativePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, false, true, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化绝对路径。
* <p>
* 该方法返回以“<code>/</code>”开始的绝对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeAbsolutePath(String path) throws IllegalPathException {
return normalizePath(path, true, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化相对路径。
* <p>
* 该方法返回不以“<code>/</code>”开始的相对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeRelativePath(String path) throws IllegalPathException {
return normalizePath(path, false, true, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化绝对路径。
* <p>
* 该方法返回以“<code>/</code>”开始的绝对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeAbsolutePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, true, false, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化相对路径。
* <p>
* 该方法返回不以“<code>/</code>”开始的相对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径和强制指定<code>removeTrailingSlash==true</code>)。</li>
* </ol>
*
* @param path 要规格化的路径
* @param removeTrailingSlash 是否强制移除末尾的<code>"/"</code>
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeRelativePath(String path, boolean removeTrailingSlash) throws IllegalPathException {
return normalizePath(path, false, true, removeTrailingSlash);
}
代码示例来源:origin: webx/citrus
/**
* 规格化绝对路径。
* <p>
* 该方法返回以“<code>/</code>”开始的绝对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* <li>对于绝对路径,如果".."上朔的路径超过了根目录,则看作非法路径,抛出异常。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeAbsolutePath(String path) throws IllegalPathException {
return normalizePath(path, true, false, false);
}
代码示例来源:origin: webx/citrus
/**
* 规格化相对路径。
* <p>
* 该方法返回不以“<code>/</code>”开始的相对路径。转换规则如下:
* </p>
* <ol>
* <li>路径为空,则返回<code>""</code>。</li>
* <li>将所有backslash("\\")转化成slash("/")。</li>
* <li>去除重复的"/"或"\\"。</li>
* <li>去除".",如果发现"..",则向上朔一级目录。</li>
* <li>空相对路径返回""。</li>
* <li>保留路径末尾的"/"(如果有的话,除了空路径)。</li>
* </ol>
*
* @param path 要规格化的路径
* @return 规格化后的路径
* @throws IllegalPathException 如果路径非法
*/
public static String normalizeRelativePath(String path) throws IllegalPathException {
return normalizePath(path, false, true, false);
}
代码示例来源:origin: webx/citrus
/** 取得匹配的路径。 */
public File getPath(ResourceMatchResult context) {
String realPath = context.substitute(path);
if (basedir != null) {
realPath = new File(basedir, realPath).getAbsolutePath();
}
return new File(normalizePath(realPath));
}
代码示例来源:origin: webx/citrus
/** 取得匹配的路径。 */
public File getPath(ResourceMatchResult context) {
String realPath = context.substitute(path);
if (basedir != null) {
realPath = new File(basedir, realPath).getAbsolutePath();
}
return new File(normalizePath(realPath));
}
代码示例来源:origin: webx/citrus
public SearchPath(String path, boolean relative) {
this.path = assertNotNull(trimToNull(normalizePath(path)), "path");
this.relative = relative;
}
代码示例来源:origin: webx/citrus
public SearchPath(String path, boolean relative) {
this.path = assertNotNull(trimToNull(normalizePath(path)), "path");
this.relative = relative;
}
代码示例来源:origin: webx/citrus
/** 初始化loader,并设定loader所在的<code>ResourceLoadingService</code>的实例。 */
public void init(ResourceLoadingService resourceLoadingService) {
// 设置basedir:
// 1. 如果没有指定basedir,则将当前配置文件所在目录看做basedir
// 2. 如果指定了相对路径的basedir,则相对于当前配置文件所在目录
// 3. 如果指定了绝对路径的basedir,则以此作为basedir
// 最后,规格化basedir。
if (basedir == null) {
basedir = configFileBasedir;
} else {
if (configFileBasedir != null) {
basedir = getSystemDependentAbsolutePathBasedOn(configFileBasedir, basedir);
}
}
basedir = trimToNull(normalizePath(basedir));
// 如果未指定path,则加入默认的path:/
if (isEmptyArray(paths)) {
paths = new SearchPath[] { new SearchPath("/", true) };
}
// 设置relative path的basedir
for (SearchPath searchPath : paths) {
searchPath.init(basedir);
}
}
内容来源于网络,如有侵权,请联系作者删除!