日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了如何檢查JAR文件是否有效?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

My WebApp允許用戶上傳JAR文件。但是,上載JAR文件后,它會被損壞。我已經通過比較上傳文件(Winmd5free)前后的MD5校驗和來驗證這一點。

上傳的JAR文件與原始JAR文件幾乎相同:

文件大小與原始文件相似(以KB為單位)
我可以使用解壓程序打開上傳的JAR文件并查看其內容(資源和類文件),與原始文件相比一切都是一樣的

當我打開上傳的JAR文件(使用記事本++)時,我確實注意到二進制內容與原始內容不同。此外,當我使用JarInputStream讀取JAR條目時,沒有條目。

JarInputStream is = new JarInputStream(new FileInputStream(new File("uploaded.jar")));
JarEntry entry = null;
while(null != (entry = is.getNextJarEntry())) {
    System.out.println(entry.getName());
}

此外,當我雙擊JAR(Windows)時,我得到以下消息。

錯誤:Jarfile無效或損壞

我的問題是:

有沒有辦法以編程方式檢查JAR文件是否有效?我本希望JarInputStream立即檢測到這一點,但它根本沒有顯示任何問題
當我在Windows中雙擊JAR文件時,是不是是java.exe向我顯示了無效或損壞的JAR文件消息?
當無效的JAR文件作為類路徑的一部分傳入時,為什么沒有拋出錯誤/異常?例如,運行java -cp uploaded.jar;libs* com.some.class.Test命令?

這個問題與JAR簽名和/或檢查JAR文件的簽名無關。它只是檢查一個文件(上傳與否)是否為有效的JAR文件(不一定檢查JAR的類文件是否有效,因為已經有關于此問題的另一篇SO文章)。

我的運行結果jar -tvf uploaded.jar

java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:127)
        at java.util.zip.ZipFile.<init>(ZipFile.java:88)
        at sun.tools.jar.Main.list(Main.java:977)
        at sun.tools.jar.Main.run(Main.java:222)
        at sun.tools.jar.Main.main(Main.java:1147)

推薦答案

以編程方式檢測無效JAR文件的方法是使用java.util.ZipFile

public static void main(String[] args) {
    if(args.length < 1) {
        System.err.println("need jar file");
        return;
    }
    
    String pathname = args[0];
    try {
        ZipFile file = new ZipFile(new File(pathname));
        Enumeration<? extends ZipEntry> e = file.entries();
        while(e.hasMoreElements()) {
            ZipEntry entry = e.nextElement();
            System.out.println(entry.getName());
        }
    } catch(Exception ex) {
        ex.printStackTrace();
    }
}

如果JAR文件無效,則實例化ZipFile對象時將拋出ZipException

這篇關于如何檢查JAR文件是否有效?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:JAR 文件 檢查
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定