- 相關(guān)推薦
從Java的jar文件中如何讀取數(shù)據(jù)的方法
本文實(shí)例講述了從Java的jar文件中讀取數(shù)據(jù)的方法。分享給大家供大家參考。具體如下:
Java 檔案 (Java Archive, JAR) 文件是基于 Java 技術(shù)的打包方案。它們?cè)试S開(kāi)發(fā)人員把所有相關(guān)的內(nèi)容 (.class、圖片、聲音和支持文件等) 打包到一個(gè)單一的文件中。JAR 文件格式支持壓縮、身份驗(yàn)證和版本,以及許多其它特性。
從 JAR 文件中得到它所包含的文件內(nèi)容是件棘手的事情,但也不是不可以做到。這篇技巧就將告訴你如何從 JAR 文件中取得一個(gè)文件。我們會(huì)先取得這個(gè) JAR 文件中的文件目錄,然后讀取指定的文件。
如果你熟悉常見(jiàn)的 ZIP 格式,你會(huì)發(fā)現(xiàn) JAR 文件和它區(qū)別不大。JAR 文件提供了一個(gè)把多個(gè)文件打包到一個(gè)文件中的方法,而且被打包的每個(gè)文件都可以分別壓縮。JAR 文件可以添加一個(gè)被稱(chēng)為 manifest 的東西,它們?cè)试S開(kāi)發(fā)人員添加與內(nèi)容有關(guān)的其它信息。例如,manifest 可以指明由 JAR 文件中的哪一個(gè)文件開(kāi)始運(yùn)行應(yīng)用程序,或者指定這個(gè)庫(kù)的版本等。
Java 2 SDK 標(biāo)準(zhǔn)版提供了一個(gè) jar 工具,你可以通過(guò)它在控制臺(tái)下讀寫(xiě) JAR 文件。然后,也許有些時(shí)候你想在你的程序中讀寫(xiě) JAR 文件。(這篇技巧僅涉及了在程序中讀 JAR 文件的內(nèi)容。)非常高興,你可以做到,并且不需要考慮解壓的問(wèn)題,因?yàn)轭?lèi)庫(kù)已經(jīng)幫你處理了。你要用到的類(lèi)都在 java.util.jar 包中。這里要用到的主要的類(lèi)是 JarFile 類(lèi),它是一個(gè) .jar 文件自身的引用。其中的每個(gè)文件則由 JarEntry 引用。
現(xiàn)在開(kāi)始,傳遞一個(gè)參數(shù)給 JarFile 的構(gòu)造函數(shù)創(chuàng)建一個(gè) JarFile 實(shí)例,這個(gè)參數(shù)可能是 String 也可以是 File,它是一個(gè) .jar 文件的位置:
代碼如下:
JarFile jarFile = new JarFile("thefile.jar");
或者
代碼如下:
File file = new File("thefile.jar");
JarFile jarFile = new JarFile(file);
它還有其它一些構(gòu)造函數(shù),支持身份驗(yàn)證和標(biāo)記文件為刪除。不過(guò)這里不會(huì)涉及到這些構(gòu)造函數(shù)。
在你得到一個(gè) JAR 文件的引用之后,你就可以讀了其內(nèi)容的目錄了。JarFile 的 entries 方法返回一個(gè)所有條目的 Enumeration 對(duì)象,你還可以從 manifest 文件中獲得它的屬性、身份驗(yàn)證信息以及其它的信息,如條目的名稱(chēng)和大小。
【從Java的jar文件中如何讀取數(shù)據(jù)的方法】相關(guān)文章:
Java如何讀取文本文件12-15
java讀取解析xml文件實(shí)例12-01
PHP中讀取大文件實(shí)現(xiàn)方法詳解11-30
java播放聲音文件的方法12-11
Java編程中異常處理的方法12-16
Java編程中獲取路徑的方法12-03
如何把Word文件變成JPG圖片的方法11-14
java類(lèi)文件是什么12-11