2012-02-13 46 views
0

我從網上獲取jar文件。我已經能夠打開它並搜索我需要的文件(.txt文件)。爲此,我使用JarEntry和方法getNextJarEntry()。 最後,當我確定我需要的文件時,我想將它保存在我光盤上的某個目錄中。我不知道該怎麼做。我在文件識別後得到的對象是JarEntry,它對應於我要保存的文件。 任何人都可以建議我如何存儲我需要的文件?搜索並從jar中提取文件。 Java

我的不好,我只有JarInputStream而不是罐子本身。

回答

2

在原有JarFile對象,你可以通過JarEntry,並得到一個InputStream

InputStream getInputStream(ZipEntry ze) 
2

使用JarFile.getInputStream(ZipEntry)方法,閱讀所有從輸入流的字節,並將其寫入到一個FileOutputStream。

+0

其實我沒有JarFile。我有JarInputStream對象。 – ilija 2012-02-13 13:00:52

+1

JarInputStream的讀取方法(http://docs.oracle.com/javase/6/docs/api/java/util/jar/JarInputStream.html#read%28byte[],%20int,%20int%29)讀取從當前條目開始,如果已達到條目末尾,則返回-1。 – 2012-02-13 13:20:23

1

您可能會使用自定義類加載器(java.net.URLClassloader)加載JAR,然後使用getResourceAsStream獲取資源。