首页 > 解决方案 > 为什么 java 类文件的路径在 Windows 10 上以斜杠 (/) 开头?

问题描述

DeviceManager.class.getProtectionDomain().getCodeSource().getLocation().getPath()用来获取 DeviceManager 类的文件路径,但它输出:/C:/Users/gdiaz/repos/devicetalk/build/classes/main/如您所见,路径以正斜杠 (/) 开头。为什么会发生这种情况,我该如何解决?

然后我使用该路径,new JarFile(currentPath)但我得到了,java.io.FileNotFoundException: C:\Users\user\repos\devicetalk\build\classes\main (Access is denied)但是由于路径以它开头,/它会抛出该异常。

我在 Windows 10 上运行 Intelli J 2020.3。SKD corretto-1.8.0_275。

标签: javapathfilepathslash

解决方案


我不知道为什么,但是以正斜杠 ( /) 开头的路径似乎是正常的,而且它确实不会引起问题。我认为FileNotFoundException是因为/路径的开头,但事实证明指定的路径不是文件而是目录。愚蠢的错误。


推荐阅读