Maison > Java > javaDidacticiel > Comment puis-je répertorier les fichiers dans un fichier JAR en Java ?

Comment puis-je répertorier les fichiers dans un fichier JAR en Java ?

Linda Hamilton
Libérer: 2024-12-24 13:50:10
original
983 Les gens l'ont consulté

How Can I List Files Inside a JAR File in Java?

Liste des fichiers dans un fichier JAR

En Java, la méthode listFiles() peut être utilisée pour obtenir une liste de fichiers dans un répertoire . Cependant, il ne peut pas être appliqué directement à un fichier JAR pour récupérer son contenu.

Pour y parvenir, vous pouvez utiliser la classe CodeSource de Java :

CodeSource src = MyClass.class.getProtectionDomain().getCodeSource();
if (src != null) {
  URL jar = src.getLocation();
  try (ZipInputStream zip = new ZipInputStream(jar.openStream())) {
    while (true) {
      ZipEntry e = zip.getNextEntry();
      if (e == null) {
        break;
      }
      String name = e.getName();
      if (name.startsWith("path/to/your/dir/")) {
        // Process the entries within the specified directory.
      }
    }
  } catch (IOException ex) {
    // Handle I/O exceptions.
  }
} else {
  // Handle the case where no CodeSource is available.
}
Copier après la connexion

Remarque :

  • Le ZipInputStream lit le fichier JAR en tant que ZIP archive.
  • La classe ZipEntry représente des entrées individuelles (fichiers) dans le fichier JAR.
  • La méthode getNextEntry() récupère l'entrée suivante dans le fichier JAR, vous permettant de parcourir son contenu.

Java 7 Améliorations :

Dans Java 7 et versions ultérieures, vous pouvez créer un objet FileSystem directement à partir du fichier JAR, à l'aide de la méthode FileSystems.newFileSystem(). Cela vous permet d'accéder au contenu des fichiers JAR à l'aide des mécanismes de parcours et de filtrage des répertoires de NIO, ce qui rend plus pratique la gestion des fichiers JAR et des répertoires « éclatés ».

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