java.lang.IllegalArgumentException: entrée == null! lors de l'utilisation de ImageIO.lire de chargement de l'image comme bufferedImage

C'est une question qui a été posée 100 fois sur ce site, mais j'ai regardé tous d'entre eux et même s'ils ont tous été résolus, aucune des solutions n'a fonctionné pour moi.

Voici ce que mon code ressemble à ceci:

public Button1(Client client, String imgName) {
    this.client = client;   

    try {
        this.icon = ImageIO.read(this.getClass().getResourceAsStream("/resources/" + imgName));
    } catch (IOException e) {
        e.printStackTrace();
    }

Lorsque le code s'exécute, il génère l'erreur suivante:

Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)

La chaîne imgName est transmis au constructeur d'une classe enfant et est le nom d'une image (par exemple image.png). J'ai aussi fait en sorte que mon dossier de ressources est à la racine du dossier du projet, et est inclus dans un dossier source dans le projet eclipse. J'ai aussi fait en sorte que System.getProperty("user.dir") pointe vers l'emplacement correct. J'ai également essayé d'utiliser getResource() au lieu de getResourceAsStream(), mais ça ne fonctionne toujours pas.

Généralement, si la resources dossier est marqué comme un dossier source dans Eclipse, vous ne devriez pas être, y compris la /resources partie de l'emplacement du Fichier ci-dessus. Au lieu de cela, le resources dossier serait la "racine" et vous devriez juste être capable de faire "/" + imgName.
Juste mettre mon expérience personnelle. J'enquêtais sur un problème similaire, pour une heure, quand j'ai remarqué que mon <fichier>.jpg dans des ressources a commencé avec une lettre capitale, alors que j'avais défini le chemin de <fichier>.jpg, en commençant avec des minuscules. Donc, capitaine évident d'alerte, mais encore - méfiez-vous des noms de fichier 🙂 Bonne chance.
Cette réponse est la solution quand j'ai eu ce même message d'erreur.

OriginalL'auteur tyler | 2013-03-15