Java:从与 java 个文件相同的文件夹中读取图像
Java: Reading in an image from same folder as java files
我有代码可以从与 java 文件相同的目录中读取图像文件,但目前我只能在给出完整路径的情况下让它工作。
picture = new JLabel(new ImageIcon(ImageIO.read(new File("C:\Users\...\ogre.png"))));
图像与 java 文件位于同一文件夹中。但是当我只尝试 "ogre.png"
或 ".\ogre.png"
或类似的方法时,它不起作用。
我的问题是:
我最终会导出到 JAR,这会影响创建 jar 后的效果吗? (我假设是的,因为创建 jar 不会更改源代码)。
如何从同一文件夹而不是确切的文件路径读取文件,例如在要移动包含文件夹的情况下。
这是标准方法...(当所有东西都在罐子里时它会起作用)
URL url = OneOfYourClass.class.getResource("package/pathTo/image/ogre.png");
ImageIcon image = new ImageIcon(url);
OneOfYourClass
是你拥有的 class(可能是主要的 class)
package/pathTo/image/
是从这个 class 找到你的图片的路径
我有代码可以从与 java 文件相同的目录中读取图像文件,但目前我只能在给出完整路径的情况下让它工作。
picture = new JLabel(new ImageIcon(ImageIO.read(new File("C:\Users\...\ogre.png"))));
图像与 java 文件位于同一文件夹中。但是当我只尝试 "ogre.png"
或 ".\ogre.png"
或类似的方法时,它不起作用。
我的问题是:
我最终会导出到 JAR,这会影响创建 jar 后的效果吗? (我假设是的,因为创建 jar 不会更改源代码)。
如何从同一文件夹而不是确切的文件路径读取文件,例如在要移动包含文件夹的情况下。
这是标准方法...(当所有东西都在罐子里时它会起作用)
URL url = OneOfYourClass.class.getResource("package/pathTo/image/ogre.png");
ImageIcon image = new ImageIcon(url);
OneOfYourClass
是你拥有的 class(可能是主要的 class)
package/pathTo/image/
是从这个 class 找到你的图片的路径