Maison > Java > javaDidacticiel > Comment puis-je accéder et récupérer des fichiers dans un fichier JAR en Java ?

Comment puis-je accéder et récupérer des fichiers dans un fichier JAR en Java ?

Mary-Kate Olsen
Libérer: 2024-12-25 19:33:20
original
402 Les gens l'ont consulté

How Can I Access and Retrieve Files Inside a JAR File in Java?

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
    }
  }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal