All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.wuwenbin.lang.file.FilePath Maven / Gradle / Ivy

There is a newer version: 2.7.3.RELEASE
Show newest version
package me.wuwenbin.lang.file;

import me.wuwenbin.lang.TP;

/**
 * 文件名及文件路径相关的操作
 *
 * @author wuwenbin
 * @since 1.0
 */
public class FilePath {

    /**
     * 判断是否符是合法的文件路径
     *
     * @param path 需要处理的文件路径
     */
    public boolean legalFile(String path) {
        // 下面的正则表达式有问题
        String regex = "[a-zA-Z]:(?:[/][^/:*?\"<>|.][^/:*?\"<>|]{0,254})+";
        // String regex
        // ="^([a-zA-z]:)|(^\\.{0,2}/)|(^\\w*)\\w([^:?*\"><|]){0,250}";
        return TP.regex.isMatch(commandPath(path), regex);

    }

    /**
     * 返回一个通用的文件路径
     *
     * @param file 需要处理的文件路径
     * @return Summary windows中路径分隔符是\在linux中是/但windows也支持/方式 故全部使用/
     */
    public String commandPath(String file) {
        return file.replaceAll("\\\\{1,}", "/").replaceAll("\\/{2,}", "/");
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy