将项目资源中的图像写入字节数组

时间:2018-11-07 07:09:34

标签: java javafx

在项目资源文件中,我有一个默认图像default_image.png。我需要去找他并将其转换为字节数组。

Image image = new Image("/icons/default_image.png");
URL defaultImageFile = this.getClass().getResource("/icons/default_image.png");
byte[] array = Files.readAllBytes(Paths.get(defaultImageFile.getPath()));

我可以将它作为图像带到URL,但不能作为文件。如何通过URL将此文件称为图像?

1 个答案:

答案 0 :(得分:1)

我建议您执行以下操作:

使用commons IO,然后:

InputStream is = getClass().getResourceAsStream("/icons/default_image.png")
byte[] bytes = IOUtils.toByteArray(is);

({trycatch例外。)

编辑从Java 9开始,不需要库:

InputStream is = getClass().getResourceAsStream("/icons/default_image.png")
byte[] bytes = is.readAllBytes();

(再次遇到trycatch例外。)