我已经检查了类似的问题,他们建议使用String
作为参数。但这就是我的工作。
我的代码:
uri.lastIndexOf(File.separator)
uri
的位置:file:/C:/Users/oto@increase.dk/workspace/Maersk_Line_GaTracking/bin/
也许这是因为Windows使用反斜杠作为文件分隔符。但是为什么然后,当我检索URI时,我正在进行斜杠?
String uri = DataRetrieval.class.getProtectionDomain().getCodeSource().getLocation() + "";
答案 0 :(得分:3)
答案 1 :(得分:3)
文件名和URI之间存在差异。文件名在Windows上使用\
作为分隔符,但URI 总是使用/
。
因此,如果要拆分文件名,请搜索File.Separator,如果要拆分URI,请搜索'/'
OH,我应该提一下:/
也在大多数Windows API中都是一个分隔符,所以对于文件名,将所有正斜杠映射到File.Separator通常是一个好主意。在你开始搞乱它之前。
答案 2 :(得分:1)
将URI定义为使用/
作为其组件分隔符。