Java 导入文件时避免完整的文件路径
尝试将图像读入java,目前我要做的是:Java 导入文件时避免完整的文件路径,java,embedded-resource,Java,Embedded Resource,尝试将图像读入java,目前我要做的是: Image img = new Image("file:E:/Javaworkspace/Project/src/resource/image.png"); 然而,我不是唯一一个将要在该项目上工作的人,而且这条路径只在我的机器上工作。我确实试过了 Image img = new Image("file:/resource/image.png") 但这会导致FileNotFound。我不知道这个东西在英语里叫什么,我希望你能理解我在这里要表达的意思 编
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
,根据文档,当路径不存在时会发生该异常。在我通过构建路径专门创建它之后,它怎么可能不存在呢?它存在于类路径中。(是的,文件也在那里,或者我可以不简单地将其复制到文件夹中吗?我相信您可以随时尝试user.home,但如果有人更新图像或添加图像,它将不会为您更新
Image img = this.getClass().getResource("/resource/image.png");
可能把括号弄乱了
另外,请确保您的文件夹“resource”位于正确的文件夹中(很可能是src和out位于相同的文件夹中)。请将图像放置在项目文件夹中,而不是使用文件系统访问该文件。然后您可以使用以下方法:
Image image = ImageIO.read(getClass().getResourceAsStream("/resource/image.png"));
要在任何人需要的地方获取映像文件。您的项目主目录中是否有名为“resource”的文件夹出于某种原因检查此空指针异常。此处很抱歉。buffereImage=ImageIO.read(新文件(“./picture.jpg”));也适用于图像;p