尝试将图像读入java,目前我要做的是:
Image img = new Image("file:E:/Javaworkspace/Project/src/resource/image.png");
但是,我不是唯一一个在该项目上工作的人,这条路径只适用于我的机器。我确实试过了
Image img = new Image("file:/resource/image.png")
但这会导致FileNotFound
。我不知道这个东西用英语叫什么,我希望你能理解我在这里要传达的东西。
编辑:
我现在通过Build Path添加了文件夹“resource”,我正在尝试获取输入流:
ImageView imgView = new ImageView(new Image(this.getClass().getResourceAsStream("/resource/image.png")));
毋庸置疑,我得到一个NullPointerException
,根据文档,当路径不存在时会发生。在通过Build Path专门创建它之后它怎么能不存在,它存在于CLASSPATH中。 (是的,文件也在那里,或者我不能简单地将其复制到文件夹中?)
答案 0 :(得分:2)
将图像放在项目文件夹中,而不是使用文件系统来访问文件。然后你可以使用它:
Image image = ImageIO.read(getClass().getResourceAsStream("/resource/image.png"));
获取任何人要求的图像文件。
答案 1 :(得分:0)
我相信您可以随时尝试使用user.home,但如果有人更新图片或添加图片,则不会为您更新。
Image img = this.getClass().getResource("/resource/image.png");
可能搞乱了括号
还要确保右侧文件夹中有“资源”文件夹(很可能是同一文件夹src和out在
中)