Lors du chargement des ressources, si une application est exécutée à partir d'un IDE, le chemin d'accès à la ressource peut être différent de celui lorsqu'elle est exécutée à partir de un fichier jar. Cela peut causer des problèmes si l'application s'appuie sur le chemin de fichier spécifique.
Une façon de résoudre ce problème consiste à utiliser getResourceAsStream au lieu de getResource. getResourceAsStream renvoie un InputStream, qui peut être utilisé pour lire les données de la ressource sans avoir à gérer le chemin du fichier.
Une autre option consiste à extraire la ressource dans un fichier temporaire avant de l'utiliser. Cela peut être fait en utilisant la méthode Files.copy.
Cependant, il est important de noter que certains codes peuvent reposer sur le fait que les données se trouvent dans un seul fichier physique dans le système de fichiers. Dans ce cas, regrouper la ressource dans un fichier jar peut ne pas être une option.
Exemple de code :
InputStream inputStream = WinProcessor.class.getResourceAsStream("repository"); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { // Do something with the line } reader.close();
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!