我的代码可以从与java文件相同的目录中读取图像文件,但是目前我只能在给出entier路径的情况下才能使用它。
picture = new JLabel(new ImageIcon(ImageIO.read(new File("C:\\Users\\...\\ogre.png"))));
图像与java文件位于同一文件夹中。但是,当我尝试"ogre.png"
或".\\ogre.png"
或类似时,它不起作用。
我的问题是:
我最终将导出到JAR,这会影响创建jar后的那个吗? (我假设是的,因为创建jar不会改变源代码)。
如何从同一文件夹而不是确切的文件路径中读取文件,例如,在移动包含文件夹的情况下。
答案 0 :(得分:0)
这是标准方式......(当所有东西都放在罐子里时它会起作用)
URL url = OneOfYourClass.class.getResource("package/pathTo/image/ogre.png");
ImageIcon image = new ImageIcon(url);
OneOfYourClass
是您拥有的课程(可能是主要课程)
package/pathTo/image/
是此课程中查找图片的路径