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\\\\/:\\*\\?\\\"<>\\|\\.]$");