précédent | suivant | table des matières
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();
}