【问题标题】:URI Syntax error when getting AppData path in java在 java 中获取 AppData 路径时出现 URI 语法错误
【发布时间】:2017-04-21 15:48:13
【问题描述】:

我正在尝试使用以下代码获取AppData 文件夹的路径:

URI myuri = new URI(System.getenv("AppData")+"custom file name etc...");

运行代码时出现此错误:

java.net.URISyntaxException:索引 2 处不透明部分中的非法字符:
C:\Users\myuser\AppData\Roaming\自定义文件名等...

我认为问题在于 C 之后的冒号,所以我认为我应该删除它并尝试这样做:

String appdata_path = System.getenv("AppData");
appdata_path.replace(":", "");
URI myuri = new URI(appdata_path+"custom file name etc...");

但结果保持不变,我得到了同样的错误。
获取AppData 文件夹的路径并在URI 中使用它的正确方法是什么?

【问题讨论】:

    标签: java uri


    【解决方案1】:

    您应该阅读what a URI actually is。文件名不是有效的 URI。

    您可以使用 Path.toUri 方法将文件名转换为 URI:

    URI myuri = Paths.get(System.getenv("AppData"), "dir1", "dir2", "config.xml").toUri();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多