我的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上运行,这就是为什么我没有把它放在绝对路径上。请有人帮忙。
答案 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"));