Navigation et récupération de fichiers dans un fichier JAR
Lorsque vous travaillez avec des fichiers JAR, il devient nécessaire d'accéder aux fichiers internes à diverses fins. Cette question se pose lorsque vous devez énumérer des fichiers dans un fichier JAR, spécifiquement pour charger des images et y accéder dynamiquement.
La solution implique l'utilisation d'une combinaison de méthodes. Tout d’abord, déterminez le fichier JAR dans lequel réside votre classe principale. Vous pouvez récupérer ces informations à l'aide de java.util.Zip.
Une fois que vous connaissez le nom du fichier JAR, créez un objet CodeSource et obtenez l'URL du fichier JAR. Ensuite, utilisez ZipInputStream pour accéder au contenu du fichier JAR. Récupérez continuellement les objets ZipEntry du flux et examinez le nom de chaque entrée. Si le nom correspond au chemin du répertoire souhaité, vous pouvez effectuer toutes les opérations nécessaires sur cette entrée.
Voici un exemple d'extrait de code pour répertorier les images dans le fichier JAR :
CodeSource src = MyClass.class.getProtectionDomain().getCodeSource(); if (src != null) { URL jar = src.getLocation(); ZipInputStream zip = new ZipInputStream(jar.openStream()); while (true) { ZipEntry entry = zip.getNextEntry(); if (entry == null) break; if (entry.getName().startsWith("images/")) { // Process the image entry } } }
Vous pouvez également peut utiliser le système de fichiers de Java 7 et les mécanismes de parcours de fichiers de NIO pour parcourir le contenu du fichier JAR. Cela simplifie le processus de recherche et de filtrage des fichiers dans le fichier JAR.
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!