这样一段代码,旨在将传入字符串的不符合路径标识都替成当前系统的标识,可是总是报错:Unexpected internal error near index 2。这是什么原因?传入的path也很简单啊:config/system.config
,怎么就出问题了呢?而且用了Matcher.quoteReplacement(java.lang.String) 方法之后还是一样。 public static final String formatStringPath(final String path){
try {
return path.replaceAll("/\\", File.separator);
} catch (Exception ex) {
System.out.println(ex.getMessage());
return path;
}
}
public static final String formatStringPath(final String path){
try {
return path.replaceAll("/", File.separator).replaceAll("\\",File.separator);
} catch (Exception ex) {
System.out.println(ex.getMessage());
return path;
}
}
楼主的意思好像是两个平台下的文件分割符,像上面或许可以的!
try {
return path.replaceAll("/", Matcher.quoteReplacement(File.separator));
} catch (Exception ex) {
System.out.println(ex.getMessage());
return path;
}
}
try {
return path.replaceAll("/", Matcher.quoteReplacement(File.separator)).replaceAll("\\\\", Matcher.quoteReplacement(File.separator));
} catch (Exception ex) {
System.out.println(ex.getMessage());
return path;
}
}