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. }
Remarque :
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!