1
这是引发错误javax.imageio.IIOException代码:无法读取输入文件:程序运行罚款在Eclipse中,但是当我出口的jar它不能读取输入文件
img = ImageIO.read(new File("Assets/Cards.png"));
内这个代码工作的eclipse和文件也与jar一起导出。任何想法如何解决这个问题?
这是引发错误javax.imageio.IIOException代码:无法读取输入文件:程序运行罚款在Eclipse中,但是当我出口的jar它不能读取输入文件
img = ImageIO.read(new File("Assets/Cards.png"));
内这个代码工作的eclipse和文件也与jar一起导出。任何想法如何解决这个问题?
从文件系统位置或从jar(或war)中读取输入文件是非常棘手的。
你可以使用YourClass.class.getResource()
,或YourClass.class.getResourceAsStream()
访问这些文件(也有一个ImageIO.read
方法,接受InputStreams)
谢谢但fge已经在评论中回答了它,但谢谢 –
千万不要使用'File'当内容你打算访问一个终将结束罐;改用'MyClass.class.getResource()'。这是在我的书的三个经典的Java错误之一,相信'String's有一个编码沿(他们不这样做),使用'URLEncoder'编码查询字符串(它不能),并且此方案为#3 。 – fge
@fge你打在头上。我第一次必须在Java中这样做时犯了这个错误。 Sean Powell:getResource()方法需要一点努力才能正确调用。查看文档,因为它很容易搞砸和/或误解它搜索的文件结构。 – Aaron3468
@fge谢谢你的回答。将避免从现在开始使用File感谢。 –