java 使用正则表达式对文件名非法字符处理

时间:2023-03-08 19:09:28
java 使用正则表达式对文件名非法字符处理

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

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

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

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