首页 > 技术文章 > java 使用正则表达式对文件名非法字符处理

hyiam 2016-08-04 11:26 原文

      1.文件名在操作系统中不允许出现  / \ " : | * ? < > 故将其以空替代
        Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|]");
        Matcher matcher = pattern.matcher(fileName);

        fileName= matcher.replaceAll(""); // 将匹配到的非法字符以空替换

  2.在创建文件前,对文件名进行合法性校验

        fileName.matches("[^\\s\\\\/:\\*\\?\\\"<>\\|](\\x20|[^\\s\\\\/:\\*\\?\\\"<>\\|])*[^\\s\\\\/:\\*\\?\\\"<>\\|\\.]$");        

推荐阅读