Java 正则表达式对文件系统非法文件名字符过滤

  • 文件系统下对与  / \ " : | * ? < > 等字符会为文件名时导致Java创建文件夹或文件失败,或者自动截断第一个非法字符前的字符作为文件名。
    通过正则表达式将字符串中包含的上述非法字符替换为空字符。
1 Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|]");
2 Matcher matcher = pattern.matcher(fileName);
3 formatFileName= matcher.replaceAll(""); 
  • 查看文件名是否合法的正则表达式
1 fileName.matches("[^\\s\\\\/:\\*\\?\\\"<>\\|](\\x20|[^\\s\\\\/:\\*\\?\\\"<>\\|])*[^\\s\\\\/:\\*\\?\\\"<>\\|\\.]$"); 
posted @ 2019-12-22 21:50  d_tyro  阅读(2811)  评论(0编辑  收藏  举报