從Java的jar文件中讀取數據的方法
從 JAR 文件中得到它所包含的文件內容是件棘手的事情,下面小編為大家整理了從Java的jar文件中讀取數據的方法,希望能幫到大家!
Java 檔案 (Java Archive, JAR) 文件是基于 Java 技術(shù)的打包方案。它們允許開(kāi)發(fā)人員把所有相關(guān)的內容 (.class、圖片、聲音和支持文件等) 打包到一個(gè)單一的文件中。JAR 文件格式支持壓縮、身份驗證和版本,以及許多其它特性。
我們會(huì )先取得這個(gè) JAR 文件中的文件目錄,然后讀取指定的文件。
如果你熟悉常見(jiàn)的 ZIP 格式,你會(huì )發(fā)現 JAR 文件和它區別不大。JAR 文件提供了一個(gè)把多個(gè)文件打包到一個(gè)文件中的方法,而且被打包的每個(gè)文件都可以分別壓縮。JAR 文件可以添加一個(gè)被稱(chēng)為 manifest 的東西,它們允許開(kāi)發(fā)人員添加與內容有關(guān)的其它信息。例如,manifest 可以指明由 JAR 文件中的哪一個(gè)文件開(kāi)始運行應用程序,或者指定這個(gè)庫的版本等。
Java 2 SDK 標準版提供了一個(gè) jar 工具,你可以通過(guò)它在控制臺下讀寫(xiě) JAR 文件。然后,也許有些時(shí)候你想在你的程序中讀寫(xiě) JAR 文件。(這篇技巧僅涉及了在程序中讀 JAR 文件的內容。)非常高興,你可以做到,并且不需要考慮解壓的問(wèn)題,因為類(lèi)庫已經(jīng)幫你處理了。你要用到的類(lèi)都在 java.util.jar 包中。這里要用到的主要的類(lèi)是 JarFile 類(lèi),它是一個(gè) .jar 文件自身的引用。其中的每個(gè)文件則由 JarEntry 引用。
現在開(kāi)始,傳遞一個(gè)參數給 JarFile 的構造函數創(chuàng )建一個(gè) JarFile 實(shí)例,這個(gè)參數可能是 String 也可以是 File,它是一個(gè) .jar 文件的位置:
代碼如下:
JarFile jarFile = new JarFile("thefile.jar");
或者
代碼如下:
File file = new File("thefile.jar");
JarFile jarFile = new JarFile(file);
它還有其它一些構造函數,支持身份驗證和標記文件為刪除。不過(guò)這里不會(huì )涉及到這些構造函數。
在你得到一個(gè) JAR 文件的引用之后,你就可以讀了其內容的目錄了。JarFile 的 entries 方法返回一個(gè)所有條目的 Enumeration 對象,你還可以從 manifest 文件中獲得它的屬性、身份驗證信息以及其它的信息,如條目的名稱(chēng)和大小。
【從Java的jar文件中讀取數據的方法】相關(guān)文章:
Java的jar文件中讀取數據的方法09-27
Java如何讀取Jar中的資源07-25
Java將對象保存到文件中再從文件中讀取對象的方法推薦09-05
Java中如何高效的讀取大文件10-17
PHP中讀取大文件的方法11-10
PHP中讀取大文件實(shí)現方法08-26
java如何通過(guò)url讀取文件05-07