无法读取输入文件ERROR

时间:2013-06-09 18:13:21

标签: java file embedded-resource javax.imageio

我的File(String)构造函数存在问题。 它给了我Can't read input file例外。 我的JFrame位于包view中,图片(文件)位于images

/view
   /MyJFrame.java
/images
   /MyImage.jpe

所以我想像这样导入MyImages.jpe

Image img = ImageIO.read(new File("/src/images/MyImage.jpe"));

我想让它在所有的PC上运行,这就是为什么我没有把它放在绝对路径上。请有人帮忙。

2 个答案:

答案 0 :(得分:3)

您打算如何部署此功能?我怀疑你会想把你的整个应用程序放到一个jar文件中......或者至少在类路径上。此时,假设您在类路径中有/images作为根,您可以执行以下操作:

Image img = ImageIO.read(getClass().getResource("/images/MyImage.jpe"));

目前的问题是你提供了一个绝对的文件名,即使你真的想要一个相对的文件名...而且在图像在jar文件中,它无论如何都无法工作,因为它们不会不是单独的文件。

答案 1 :(得分:1)

尝试将图片文件夹放到项目文件夹中:

Image img = ImageIO.read(new File("/images/MyImage.jpg"));