java - 确保路径字符串是有效的 java 路径字符串

标签 java path

这就是我尝试确保属性文件中给出的路径是有效的 java 路径(使用\\而不是\)的方法:

String path = props.getProperty("path");
if (path.length()>1) path=path.replaceAll("\\\\", "\\");
if (path.length()>1) path=path.replaceAll("\\", "\\\\");

在第一个替换中,我确保如果路径已经有效(具有\\而不是\),那么在第二次替换中它不会加倍为\\\\而不是\\...

无论如何,我遇到了这个奇怪的异常:

java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.charAt(Unknown Source)
    at java.util.regex.Matcher.appendReplacement(Unknown Source)
    at java.util.regex.Matcher.replaceAll(Unknown Source)
    at java.lang.String.replaceAll(Unknown Source)
    at com.hw.Launcher.main(Launcher.java:56)

谁能告诉我为什么吗?!

最佳答案

replaceAll 需要正则表达式,请使用 replace 代替。

您可以找到 JavaDocs here

关于java - 确保路径字符串是有效的 java 路径字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18230583/

相关文章:

java - 使用 java 编辑 XML 实体的链接

c# - 具有不同当前文件夹的相对路径的绝对路径

javascript - Node.js 从用户输入中获取完整路径

path - 让 NCRUNCH 遵守项目设置中的输出路径?

默认/索引页面的 C#/.NET 服务器路径

java - 替换为ArrayList

java - 未从 Intent 接收数据

java - 在servlet过滤器中拦截请求并有条件地将响应返回给发送者

java - 无法连接到数据库错误 : java. sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序

java - 如何在没有管理员的情况下在USB驱动器上安装android studio