尝试使用相对路径打开文件时,我收到IOException。我已将项目编译成jar,我要加载的文件位于项目根目录下的“images”目录中。
我没有异常,当我将项目文件夹放在桌面上时,我能够看到该文件。但是,如果我放置文件夹并尝试在C:\ Program files(x86)\ MyApplication中运行该应用程序,那么我得到了异常。这是防火墙/权限问题吗?我不明白它为什么在桌面上运行而不在程序文件中?
我的项目的目录结构:
MyApplication.jar
图像
这导致异常:
BufferedImage image = ImageIO.read(new file("images/myimage.jpg"));
(我已尝试过后退和正斜杠)