J'ai ce code qui lit tous les fichiers d'un répertoire.
File textFolder = new File("text_directory");
File [] texFiles = textFolder.listFiles( new FileFilter() {
public boolean accept( File file ) {
return file.getName().endsWith(".txt");
}
});
Il fonctionne très bien. Il remplit le tableau avec tous les fichiers qui se terminent par ".txt" du répertoire "text_directory".
Comment puis-je lire le contenu d'un répertoire dans un mode similaire au sein d'un fichier JAR?
Donc, ce que je veux vraiment faire est de, à la liste de toutes les images à l'intérieur de mon fichier JAR, afin que je puisse les charger avec:
ImageIO.read(this.getClass().getResource("CompanyLogo.png"));
(Que l'on travaille parce que le "CompanyLogo" est "codé en dur", mais le nombre d'images à l'intérieur du fichier JAR peut être de 10 à 200 de longueur variable.)
MODIFIER
Donc, je pense que mon principal problème pourrait être: Comment connaître le nom du fichier JAR où ma classe principale vies?
Certes, j'ai pu le lire à l'aide de java.util.Zip
.
Ma Structure est comme ceci:
Ils sont comme:
my.jar!/Main.class
my.jar!/Aux.class
my.jar!/Other.class
my.jar!/images/image01.png
my.jar!/images/image02a.png
my.jar!/images/imwge034.png
my.jar!/images/imagAe01q.png
my.jar!/META-INF/manifest
Maintenant je suis en mesure de charger par exemple "images/image01.png" aide:
ImageIO.read(this.getClass().getResource("images/image01.png));
Mais seulement parce que je sais le nom du fichier, pour le reste, je dois charger dynamiquement.