java - 为什么 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。
解决方案
我不知道为什么,但是以正斜杠 ( /
) 开头的路径似乎是正常的,而且它确实不会引起问题。我认为FileNotFoundException
是因为/
路径的开头,但事实证明指定的路径不是文件而是目录。愚蠢的错误。
推荐阅读
- javascript - 无法理解为什么事件未定义
- c# - 请求和响应日志的自然链接 .NET Core 应用
- python - 如何在python中为一个阶乘创建一个函数,该阶乘是所有小于或等于n的正偶整数的乘积,使用递归
- maven - 如何在从 Ant 创建的 zip 中导出 maven 依赖项?
- angular - 图像 src 中带有循环的 mdc-image-list
- html - 如何重叠 2 个 CSS 项目并使 1 个项目位于最前面
- minio - 使用 MinIO 时是否可以完全禁用身份验证?
- apache-kafka - 如何延迟 Spring Cloud Stream StreamListener 的初始化?
- scala - 合并数据集中的行
- google-cloud-functions - Quarkus:使用 Google Cloud Functions 时 CDI 不工作