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,}", "/");
}
}