国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在應用程序中處理jar文件

2019-11-18 14:53:05
字體:
來源:轉載
供稿:網友
在應用程序中處理jar文件    本文的目的在于講述如何通過程序處理jar文件,這與在命令行或者IDE中操作jar文件差別比較大。我們主要涉及到的內容是java.util.jar包以及java.io包的使用。

    很多開發者對java.util.jar包并不熟悉,因此文章將主要講述如何使用其中的8個類,其中JarFile和JarEntry類是核心類,他們分別代表了jar文件以及jar文件中的文件實體。通常我們可以通過如下方法構建JarFile的實例,有了JarFile的引用后我們就可以對其進行處理了。
JarFile(File file)
JarFileFile file, boolean verify)
JarFile(File file, boolean verify, int mode)
JarFile(String name)
JarFile(String name, boolean verify)
你可以使用File對象或者String類型的文件名來構建JarFile,例如JarFile jarFile = new JarFile("j2me.jar");得到這個引用后我們可以調用jarFile.entries()方法返回JarEntry對象的Enumeration。這樣我們就可以操作他了。首先我們編寫一個程序來瀏覽jar文件中的內容。
   import java.io.*;
   import java.util.*;
   import java.util.jar.*;

   public class ListJar {
     public static void main(String args[]) {
       for (int i=0, n=args.length; i<n; i++) {
         try {
           listjar(args[i]);
         } catch (IOException e) {
           System.err.         }
       }
     }

     private static void listjar(String name)
             throws IOException {
       System.out.println("Jar: " + name);
       JarFile jar = new JarFile(name);
       Enumeration e = jar.entries();
       while (e.hasMoreElements()) {
         listInfo((JarEntry)e.nextElement());
       }
       System.out.println();
     }

    private static void listInfo(JarEntry entry) {
       System.out.println("/t" + entry.getName());
    }
   }
程序的內容比較簡單,我們編譯通過后在相同的目錄放置一個jar文件,然后執行java ListJar xxx.jar。下面是我執行后的結果:
C:/TEMP>java ListJar nts.jar
Jar: nts.jar
        META-INF/
        META-INF/MANIFEST.MF
        CleanMIDlet.class
        CleanWorker.class
        DeluxeMIDlet.class
        DeluxeWorker$1.class
        DeluxeWorker.class
        PrimitiveMIDlet.class
        SimpleWaitMIDlet$1.class
        SimpleWaitMIDlet.class
        SingleMIDlet.class
        SingleWorker.class
        ThreadedMIDlet$1.class
        ThreadedMIDlet.class
        WaitCanvas$1.class
        WaitCanvas.class

在我們的程序中不僅可以瀏覽這些文件,還可以對特定的文件進行讀取。比如我想讀取MANIFEST.MF中的內容,那么我們可以得到Attributes類,然后得到其中的內容。下面的方法可以讀取MANIFEST.MF中屬性為MIDlet-4的值。
     private static void getManifest(String name) throws IOException
     {
      System.out.println("Jar: " + name);
      JarFile jar = new JarFile(name);
      Manifest mf = jar.getManifest();
      System.out.println((mf==null)?"null manifest":mf.toString());
      Attributes at = mf.getMainAttributes();
      System.out.println(at.getValue("MIDlet-4"));
       
     }
java.util.jar包中包含了很多處理jar文件的api,用戶應該多參考java doc。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北辰区| 景德镇市| 工布江达县| 邵东县| 和林格尔县| 尚志市| 霍邱县| 娱乐| 洛浦县| 海伦市| 奉贤区| 苏尼特右旗| 拉孜县| 红桥区| 奈曼旗| 陇川县| 金川县| 福海县| 梨树县| 隆化县| 依兰县| 神池县| 金乡县| 额济纳旗| 留坝县| 东海县| 枣强县| 江北区| 屏东市| 青川县| 商河县| 苏尼特左旗| 新乐市| 蓝田县| 平泉县| 沁源县| 乐平市| 中西区| 康定县| 洪湖市| 东兰县|