原因是
文件名或文件夹名中不能出现以下字符:\ / : * ? " < > |
但是后台读取到的附件的文件路径就是这样的
网上大佬说了,这样处理
replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,而不是俩,真心希望这些乱发垃圾的博客能被处理一下
① java 把字符串中的反斜杠(\)替换成(\\)
replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,用replaceAll( "\\\\ ", "\\\\\\\\ ");
② java 把字符串中的反斜杠(/)替换成(\)
replaceAll("/", "\\\\");
运行结果
原文地址:https://www.cnblogs.com/jnhs/p/10090916.html
时间: 2024-08-29 07:08:16