从jar中搜索并提取文件。JAVA

从jar中搜索并提取文件。JAVA,java,jar,Java,Jar,我从网上得到jar文件。我已经能够打开它,并在里面搜索我需要的文件(.txt文件)。为此,我使用JarEntry和getNextJarEntry()方法。 最后,当我确定我需要的文件时,我希望将其保存在光盘上的某个目录中。我不知道怎么做。文件标识后的对象是JarEntry,它对应于我要保存的文件。 有人能给我建议一种存储我需要的文件的方法吗 我的错,我只有JarInputStream,没有jar本身。在原始的JarFile对象上,您可以传递JarEntry并获得InputStream: Inp

我从网上得到jar文件。我已经能够打开它,并在里面搜索我需要的文件(.txt文件)。为此,我使用JarEntry和getNextJarEntry()方法。 最后,当我确定我需要的文件时,我希望将其保存在光盘上的某个目录中。我不知道怎么做。文件标识后的对象是JarEntry,它对应于我要保存的文件。 有人能给我建议一种存储我需要的文件的方法吗


我的错,我只有JarInputStream,没有jar本身。

在原始的
JarFile
对象上,您可以传递
JarEntry
并获得
InputStream

 InputStream    getInputStream(ZipEntry ze) 

在原始
JarFile
对象上,您可以传递
JarEntry
并获得
InputStream

 InputStream    getInputStream(ZipEntry ze) 

使用该方法,从输入流读取所有字节,然后将它们写入FileOutputStream。

使用该方法,从输入流读取所有字节,然后将它们写入FileOutputStream。

您可以使用自定义类加载器(
java.net.URLClassloader
)加载JAR,然后使用
getResourceAsStream

获取资源您可以使用自定义类加载器(
java.net.URLClassloader
)加载JAR,然后使用
getResourceAsStream

获取资源实际上我没有JAR文件。我有JarInputStream对象。JarInputStream()的read方法从当前条目中读取,如果已到达条目的末尾,则返回-1。实际上我没有JarFile。我有一个JarInputStream对象,JarInputStream()的read方法从当前条目中读取,如果到达条目末尾,则返回-1。