java - 当我从 jar 运行应用程序时,为什么 new File(path) 不起作用?

标签 java file jar filenotfoundexception

当我从 jar 运行应用程序时,为什么 new File(path) 不起作用?我应该如何改变这个?现在,当我的应用程序尝试加载文件时,我收到 FileNotFound 异常。

final File file = new File("src/main/resources/maps/ParcelsCountyRDMFinal5.shp");

最佳答案

如果正确创建了 jar,例如使用 Maven,资源文件将位于类文件旁边。它看起来像这样:

myapp.jar
 |
 +--- com
 |     +---mycompany
 |            +-- FileOpsClass
 |
 +--- maps
        +-- fileToRead

您可以进入目录并访问fileToRead,如上述结构所示:

  final File file = new File("../../maps/ParcelsCountyRDMFinal5.shp");

或按照建议

  final File file = new File(getClass().getResource("/maps/ParcelsCountyRDMFinal5.shp"));

关于java - 当我从 jar 运行应用程序时,为什么 new File(path) 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9293140/

相关文章:

java - 将图像添加到 jar

java - 如何从类路径中的不同 jar 加载同名资源之一?

java - 从 Youtube 中提取的评论数量是否有限制?

java - 为什么同步在此代码中无法正常工作?

c - 如何读取平面文件并将数据放入相应的变量

.net - 如何以符合系统标准的形式以编程方式从Windows剪贴板剪切/复制文件/从Windows剪贴板获取文件?

java - 制作二十一点程序,从方法返回数组时遇到问题

c# - 设计模式/想法根据触发器将执行的操作刷新网格中的行

Linux - 如何跟踪进程访问的所有文件?

java - 为 Jar 文件编写 Unix 安装程序