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

标签 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 将此文件作为图像引用?

最佳答案

我建议执行以下操作:

使用commons IO ,那么:

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

(尝试捕获异常。)

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

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

(再次尝试捕获异常。)

关于java - 将项目资源中的图像写入字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184906/

相关文章:

当枚举与自定义单元工厂一起使用时,JavaFX 无法设置数据

checkbox - 预选一个 JavaFX CheckComboBox

Java找不到符号语法错误

java - 我如何计算这些重复的整数?

css - 是否可以为 JavaFX 8 中的单个节点禁用 CSS 样式?

java - JavaFX 中切换场景不会保留最大化屏幕

java - @OneToMany 表关系中的冗余行数据或实体

java - 访问附加的 jboss 日志文件

java.lang.ClassNotFoundException : sun. jdbc.odbc.JdbcOdbcDriver 发生异常。为什么?

api - JavaFX 用简单属性包装现有对象