Я искал этот сайт и искал решения о том, как это исправить, и ни один из них не дал решения, которое исправляет возникающую ошибку.Я не могу точно определить, в чем проблема.Ни один из подобных вопросов по этому поводу не помог.
Я начну с кода, который у меня есть
public static BufferedImage getImage(String uri) throws IOException {
BufferedImage image = null;
image = ImageIO.read(ImageLoader.class.getResource(uri));
return image;
}
И где я вызываю метод
try {
sprite = ImageLoader.getImage("images/testSprite.png");
} catch (IOException e) {
e.printStackTrace();
}
возвращается ошибка IllegalArgumentException input == null в строке ImageIo.read исходного метода.
В предисловии я перепробовал все мыслимые последовательности именования файлов.Я пробовал его, включая res, имя папки с ресурсами (как с косой чертой, так и без нее в начале), пробовал с косой чертой перед изображениями, папку с изображением, к которому я пытаюсь получить доступ, и просто с именемизображения, опять же, с косой чертой и без нее.
Я использовал «Путь сборки» Eclipse для создания папки res в папке Project, но если я посмотрю на .zip, он не содержитпапки, которые я включил, даже папку src, но она содержит все файлы классов из папки src.Я запутался, почему это происходит.
Мне бы очень хотелось понять, что именно я здесь делаю неправильно.
РЕДАКТИРОВАТЬ: Попробовав почти все мыслимые, я наконец понял это.Папка должна быть создана как пакет, а изображение должно быть помещено в пакет.Исходная папка или обычная папка, похоже, не подобраны компилятором.Просто добавьте пакет в вашу исходную папку для загружаемого изображения.