Accès aux ressources dans un fichier JAR à l'aide de Java
Lorsque vous travaillez avec des fichiers JAR, il peut être nécessaire de récupérer les chemins d'accès aux ressources intégrées. Cependant, tenter d'obtenir un chemin à l'aide de techniques telles que :
ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("config/netclient.p").getFile());
peut générer une erreur indiquant que le fichier spécifié est introuvable. Ce comportement est inhérent à la structure des fichiers Java JAR.
La raison de ce résultat est que les ressources contenues dans les JAR ne sont pas nécessairement disponibles sous forme de fichiers individuels sur le système de fichiers. Ils peuvent être compressés ou stockés dans l'archive d'une manière qui rend impossible l'accès direct au système de fichiers.
De plus, s'appuyer sur un fichier java.io.File pour l'accès aux ressources n'est peut-être pas l'approche la plus efficace ou la plus portable. . Envisagez plutôt les options suivantes :
classLoader.getResource("config/netclient.p")
Cette approche donne accès au flux de ressources mais ne fournit pas de fichier chemin.
InputStream in = classLoader.getResourceAsStream("config/netclient.p"); FileOutputStream out = new FileOutputStream(new File("tmp/" + fileName));
Cela vous permet de créer une version fichier de la ressource dans le répertoire temporaire désigné.
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!