我正在尝试使用以下代码获取AppData
文件夹的路径:
URI myuri = new URI(System.getenv("AppData")+"custom file name etc...");
当我运行代码时,我收到此错误:
java.net.URISyntaxException:索引2处不透明部分的非法字符:
C:\ Users \ myuser \ AppData \ Roaming \ custom file name等...
我认为问题是 C 之后的冒号,所以我认为我应该删除它并尝试这样做:
String appdata_path = System.getenv("AppData");
appdata_path.replace(":", "");
URI myuri = new URI(appdata_path+"custom file name etc...");
但结果仍然相同,我得到同样的错误
获取AppData
文件夹的路径并在URI
中使用它的正确方法是什么?
答案 0 :(得分:2)
您应该阅读what a URI actually is。文件名不是有效的URI。
您可以使用Path.toUri方法将文件名转换为URI:
URI myuri = Paths.get(System.getenv("AppData"), "dir1", "dir2", "config.xml").toUri();