Java by API/java.util.jar/Manifest

Материал из Java эксперт
Перейти к: навигация, поиск

Manifest: getEntries()

   <source lang="java">

import java.util.Iterator; import java.util.Map; import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; public class Main {

 public static void main(String[] argv) throws Exception {
   JarFile jarfile = new JarFile("filename.jar");
   Manifest manifest = jarfile.getManifest();
   Map map = manifest.getEntries();
   for (Iterator it = map.keySet().iterator(); it.hasNext();) {
     String entryName = (String) it.next();
     Attributes attrs = (Attributes) map.get(entryName);
     for (Iterator it2 = attrs.keySet().iterator(); it2.hasNext();) {
       Attributes.Name attrName = (Attributes.Name) it2.next();
       String attrValue = attrs.getValue(attrName);
     }
   }
 }

}

 </source>
   
  
 
  



Manifest: getMainAttributes()

   <source lang="java">

import java.util.Iterator; import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; public class Main {

 public static void main(String[] argv) throws Exception {
   JarFile jarfile = new JarFile("filename.jar");
   Manifest manifest = jarfile.getManifest();
   Attributes attrs = (Attributes) manifest.getMainAttributes();
   for (Iterator it = attrs.keySet().iterator(); it.hasNext();) {
     Attributes.Name attrName = (Attributes.Name) it.next();
     String attrValue = attrs.getValue(attrName);
   }
 }

}

 </source>
   
  
 
  



new Manifest(InputStream is)

   <source lang="java">

import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.util.jar.Manifest; public class Main {

 public static void main(String[] argv) throws Exception {
   // Create a manifest from a file
   InputStream fis = new FileInputStream("manifestfile");
   Manifest manifest = new Manifest(fis);
   // Construct a string version of a manifest
   StringBuffer sbuf = new StringBuffer();
   sbuf.append("Manifest-Version: 1.0\n");
   sbuf.append("\n");
   sbuf.append("Name: javax/swing/JScrollPane.class\n");
   sbuf.append("Java-Bean: True\n");
   // Convert the string to a input stream
   InputStream is = new ByteArrayInputStream(sbuf.toString().getBytes("UTF-8"));
   // Create the manifest
   manifest = new Manifest(is);
 }

}

 </source>