從Java的jar文件中讀取數據的方法

從 JAR 文件中得到它所包含的文件內容是件棘手的事情,下面小編爲大家整理了從Java的jar文件中讀取數據的方法,希望能幫到大家!

從Java的jar文件中讀取數據的方法

Java 檔案 (Java Archive, JAR) 文件是基於 Java 技術的打包方案。它們允許開發人員把所有相關的內容 (s、圖片、聲音和支持文件等) 打包到一個單一的文件中。JAR 文件格式支持壓縮、身份驗證和版本,以及許多其它特性。

我們會先取得這個 JAR 文件中的文件目錄,然後讀取指定的文件。

如果你熟悉常見的 ZIP 格式,你會發現 JAR 文件和它區別不大。JAR 文件提供了一個把多個文件打包到一個文件中的方法,而且被打包的每個文件都可以分別壓縮。JAR 文件可以添加一個被稱爲 manifest 的東西,它們允許開發人員添加與內容有關的'其它信息。例如,manifest 可以指明由 JAR 文件中的哪一個文件開始運行應用程序,或者指定這個庫的版本等。

Java 2 SDK 標準版提供了一個 jar 工具,你可以通過它在控制檯下讀寫 JAR 文件。然後,也許有些時候你想在你的程序中讀寫 JAR 文件。(這篇技巧僅涉及了在程序中讀 JAR 文件的內容。)非常高興,你可以做到,並且不需要考慮解壓的問題,因爲類庫已經幫你處理了。你要用到的類都在 包中。這裏要用到的主要的類是 JarFile 類,它是一個 文件自身的引用。其中的每個文件則由 JarEntry 引用。

現在開始,傳遞一個參數給 JarFile 的構造函數創建一個 JarFile 實例,這個參數可能是 String 也可以是 File,它是一個 文件的位置:

代碼如下:

JarFile jarFile = new JarFile("");

或者

代碼如下:

File file = new File("");

JarFile jarFile = new JarFile(file);

它還有其它一些構造函數,支持身份驗證和標記文件爲刪除。不過這裏不會涉及到這些構造函數。

在你得到一個 JAR 文件的引用之後,你就可以讀了其內容的目錄了。JarFile 的 entries 方法返回一個所有條目的 Enumeration 對象,你還可以從 manifest 文件中獲得它的屬性、身份驗證信息以及其它的信息,如條目的名稱和大小。