【发布时间】:2016-10-03 10:17:54
【问题描述】:
如标题中所述,我正在尝试从作为字符串提供给我的路径中读取文件,该路径位于 Tomcat-Context 文件中。
路径以“///C:”开头。在 Unix 系统上,它将以“/C:”开头。 截至目前,我正在尝试执行以下操作:
MyPath = Paths.get("///C:" + filename);
byte[] encoded = Files.readAllBytes(MyPath);
String JsonString = new String(encoded);
这会导致此错误:“索引 4 处路径中的非法字符 [:]:///C:/file.json”
我知道 Windows 不喜欢路径中的冒号,但是当我从路径中删除前导 Substirng“///”时,Windows 可以处理它。 (但这并没有真正帮助我,因为这很脆弱,而且是一种非常糟糕的编码方式。而且它在一半的服务器上也不起作用)
我很确定这只是我不理解路径命名约定。 那么这种路径应该如何处理呢?
问候: 荣格
【问题讨论】:
-
你还应该记住,不是每个人都使用 C:(有些人喜欢 D:)
-
前导“///C:/”并不是真正的静态字符串。我只是用一个问题代替了它,所以它更容易阅读。实际上,这将由服务器的上下文设置。不过谢谢你的帮助。