Я пытаюсь загрузить изображение, используя InputStream.Однако, когда я загружаю свое изображение, оно всегда возвращает ноль.Вот моя структура проекта:
project
--+ src
----+ chess
------+ model
--------+ piece
----------+ Piece.java
------+ assets
--------+ icons
----------+ piece
------------+ rook_black.png
И путь, который я использую для доступа к изображению: ./src/chess/assets/icons/piece/rook_black.png
Я попытался показать все файлы в каталоге от Piece.java
itworks:
String path = "./src/chess/assets/icons/piece/";
File[] files = new File(path).listFiles();
for (File file: files) {
System.out.println(file.getName());
}
Мой код:
public Image getImage() {
String path = "./src/chess/assets/icons/piece/rook_black.png";
InputStream image = getClass().getResourceAsStream(path);
if (image != null) {
return new Image(image);
}
System.out.println("No " + toString() + " image in " + path);
return null;
}
Этот код на самом деле выводит No rook image in ./src/chess/assets/icons/piece/rook_black.png
, но я хочу, чтобы InputStream не был нулевым.