Maison >Java >javaDidacticiel >Pourquoi getResourceAsStream renvoie-t-il null lors du chargement de ressources à partir d'un JAR ?
getResourceAsStream renvoie Null lors du chargement de ressources à partir de JAR
Lorsque vous essayez de charger un fichier texte à partir d'un package JAR à l'aide de Class::getResourceAsStream, vous peut rencontrer une valeur de retour nulle. Pour résoudre ce problème, considérez ce qui suit :
La méthode Lifepaths.class.getClass().getResourceAsStream(...) utilise le chargeur de classe système, qui peut ne pas avoir accès aux ressources du JAR. Utilisez plutôt Lifepaths.class.getResourceAsStream(...) pour utiliser le chargeur de classe qui a chargé la classe Lifepaths, garantissant ainsi l'accès aux ressources JAR.
Lors de l'appel de getResourceAsStream(name), assurez-vous que le nom commence par un barre oblique "/". Cette pratique est généralement recommandée pour éviter des problèmes potentiels.
Voici un exemple de code corrigé :
public static void execute() { System.out.println(Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt")); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!