参考链接java代码 处理 输入的路径,防止出现异常字符,双斜杠、符号点.等路径非法字符。代码比较简陋。可能还有其他情况没考虑,对照代码没有贴出来。暂时记录如下
ASCii码表
代码 private String clearErrorPath(String path,boolean isRoot){
StringBuilder sb = new StringBuilder();
if( isRoot ){
if( StringUtils.isEmpty(path) || path.startsWith("./") || !path.startsWith("/")){
sb.append("./");
}
}
char[] chars = path.toCharArray();
boolean last = false;
// 清理 双斜杠 //、路径内的 非 数字和大小字母
for (char c : chars) {
if( '/' == c ){ last = true; continue; }
if( c < '0' || c > 'z' ){ continue; }
if( c > '9' && c < 'A' ){ continue; }
if( c > 'Z' && c < 'a' ){ continue; }
if(last){ sb.append('/'); }
last = false;
}
return sb.toString();
}
测试截图



