Maison >Java >javaDidacticiel >Pourquoi getResourceAsStream renvoie-t-il null lors du chargement de ressources à partir d'un JAR ?

Pourquoi getResourceAsStream renvoie-t-il null lors du chargement de ressources à partir d'un JAR ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 08:42:09706parcourir

Why Does getResourceAsStream Return Null When Loading Resources from a 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn