précédent | suivant | table des matières

JarEntry

Cette classe, dérivée de ZipEntry,  représente une entrée d'un fichier Jar. En plus des informations d'une ZipEntry, il y a trois informations;

Constructeur :

Méthodes :

Attributes getAttributes()
Retourne les attributs de cette entrée se trouvant dans le manifeste. null sinon.
Certificate[] getCertificates()
Retourne les certificats : l'entrée doit être lue complètement pour qu'on puisses accéder aux certificats.
CodeSigner[] getCodeSigners()
Retourne les signataires du code : l'entrée doit être lue complètement pour qu'on puisses accéder aux signataires

Exemple de code accédant à un fichier JAR :

try {
   JarInputStream jis = new JarInputStream(new FileInputStream("testJar.jar"));
   // le manifeste du fichier JAR 
   Manifest mf = jis.getManifest();
   Attributes attM = mf.getMainAttributes();
   if(attM != null) System.out.println(attM.entrySet());
   // Itération sur les entrées du fichier JAR 
   JarEntry je = jis.getNextJarEntry();
   while(je!=null){
      System.out.println(je.getName());
      // les attributs
      Attributes att = je.getAttributes();
      if(att!=null)System.out.println("       "+att.entrySet() );
      else System.out.println();
      // lecture de l'entrée pour avoir accès aux certificats et signatures
      for(int c = jis.read(); c!=-1;  c = jis.read()); 
      //       certificats  
      System.out.println("       "+je.getCertificates());
      //       signatures
      CodeSigner[] cs = je.getCodeSigners();
      if(cs != null){
         System.out.print("       ");
         for(int i = 0; i<cs.length; ++i)System.out.print(cs[i]());
         System.out.println();
      }
      jis.closeEntry();
      je = jis.getNextJarEntry();
   }
   jis.close();
} catch (FileNotFoundException e) {
   e.printStackTrace();
} catch (IOException e) {
   e.printStackTrace();
}

haut de la page