1. 程式人生 > >檔名及檔案路徑相關的操作

檔名及檔案路徑相關的操作

package com.opslab.util;

/**
* 檔名及檔案路徑相關的操作
*/
public final class FilePathUtil {

/**
* 判斷是否符是合法的檔案路徑
*
* @param path 需要處理的檔案路徑
*/
public final static boolean legalFile(String path) {
//下面的正則表示式有問題
String regex = "[a-zA-Z]:(?:[/][^/:*?\"<>|.][^/:*?\"<>|]{0,254})+";
//String regex ="^([a-zA-z]:)|(^\\.{0,2}/)|(^\\w*)\\w([^:?*\"><|]){0,250}";
return RegUtil.isMatche(commandPath(path), regex);
}

/**
* 返回一個通用的檔案路徑
*
* @param file 需要處理的檔案路徑
* @return
* Summary windows中路徑分隔符是\在linux中是/但windows也支援/方式 故全部使用/
*/
public final static String commandPath(String file) {
return file.replaceAll("\\\\{1,}", "/").replaceAll("\\/{2,}", "/");
}


}