Не получается прочитать файл изображения javax.imageio.IIOException: Can't read input file

Проект Spring Boot, сборка мавен. По пути есть файл

C:\Users\username\IdeaProjects\mail\src\main\resources\my_image.jpg

при его чтении final BufferedImage imageFile = ImageIO.read(new File("my_image.jpg"));

падает ошибка javax.imageio.IIOException: Can't read input file

Почему так получается?


Ответы (1 шт):

Автор решения: Дмитрий

Для того, чтобы прочитать файл из папки ресурсов есть несколько путей. Например, так :

public Object loadFile(String filePath) throws IOException, ClassNotFoundException {
    try (final ObjectInputStream is = new ObjectInputStream(new BufferedInputStream(PropertiesLoader.class
            .getClassLoader().getResourceAsStream(filePath)))) {
        return is.readObject();
    }
}

Если у вас спринг, можете использовать класс PathMatchingResourcePatternResolver. примерно так: new PathMatchingResourcePatternResolver(this.getClass().getClassLoader()) .getResources(...))

→ Ссылка