Java URL分隔符或File.separator

Java URL分隔符或File.separator,java,Java,我检查了类似的Qestion,他们建议使用String作为参数。但我就是这么做的 我的代码: uri.lastIndexOf(File.separator) 其中uri是:文件:/C:/Users/oto@increase.dk/工作区/Maersk\u Line\u GaTracking/bin/ 也许这是因为Windows使用反斜杠作为文件分隔符。但是为什么当我检索URI时,会得到正向斜杠呢 String uri = DataRetrieval.class.getProtectionDo

我检查了类似的Qestion,他们建议使用
String
作为参数。但我就是这么做的

我的代码:

 uri.lastIndexOf(File.separator)
其中
uri
是:
文件:/C:/Users/oto@increase.dk/工作区/Maersk\u Line\u GaTracking/bin/

也许这是因为Windows使用反斜杠作为文件分隔符。但是为什么当我检索URI时,会得到正向斜杠呢

String uri = DataRetrieval.class.getProtectionDomain().getCodeSource().getLocation() + "";
返回一个 反对


URL中的分隔符是正斜杠。

URI定义为使用
/
作为其组件分隔符。

文件名和URI之间存在差异。文件名在Windows上使用
\
作为分隔符,但URI始终使用
/

因此,如果要拆分文件名,请搜索file.Separator;如果要拆分URI,请搜索
'/'


哦,我应该提到:
/
在大多数windows API中也用作分隔符,因此对于文件名,通常最好在开始处理前将所有正向斜杠映射到File.separator。

File.separator:分隔文件路径组件的字符。这在UNIX上是“/”,在Windows上是“\”。细节:没有真正的帮助,这是我已经知道的…详细答案如下:
CodeSource.getLocation()