Existe-t-il un utilitaire qui aide à lire un fichier texte dans la ressource en une chaîne de caractères. Je suppose que c'est une exigence populaire, mais je n'ai pas trouvé d'utilitaire après avoir cherché sur Google.
@JonSkeet C'est génial, mais pour les applications web, ce n'est peut-être pas la meilleure solution. getResource
utilise Resource.class.getClassLoader
mais dans les applications web, ce n'est peut-être pas "votre" chargeur de classes, il est donc recommandé (par exemple dans [1]) d'utiliser Thread.currentThread().getContextClassLoader().getResourceAsStream
à la place (référence [1] : stackoverflow.com/questions/676250/ )
1 votes
Veuillez préciser ce que vous entendez par "fichier texte de la ressource" par rapport à "fichier texte dans la ressource" - il n'est pas facile de comprendre ce que vous essayez d'obtenir.
0 votes
C'est juste un fichier texte dans le classpath comme "classpath*:mytext/text.txt".
9 votes
Depuis java11, il existe une méthode spécifique pour cela :
Files.readString(Paths.get(getClass().getResource("foo.txt").toURI()), Charset.forName("utf-8"))
0 votes
LOLz, je suis tout à fait sûr que tout le monde n'est pas tout à fait sûr de l'objet de la question ;-] Pourtant, certaines personnes ont décidé qu'elles devaient prouver qu'elles étaient importantes, et ont donc décidé de garder la question fermée pour démontrer leur "pouvoir" ;-] Maintenant, les nouvelles réponses utilisant les nouvelles fonctionnalités de java ne peuvent pas être ajoutées (voir par exemple la réponse de Roberto dans le commentaire ci-dessus). La communauté SO à son meilleur ;-]
1 votes
@Roberto votre méthode fonctionne lorsque je lance mon programme à partir d'un dossier explosé avec des classes, mais lorsque je l'emballe dans un jar,
Paths.get(...)
jetteFileSystemNotFoundException