Java 如何从字节[]创建内部JarFile对象

Java 如何从字节[]创建内部JarFile对象,java,arrays,jar,byte,inputstream,Java,Arrays,Jar,Byte,Inputstream,我想检查我目前正在使用的程序的更新,为此我下载JAR文件并将其写入计算机内存。 现在我不知道如何将在此过程中创建的字节[]转换为 JarFile对象 那么如何将这个字节[]转换成JarFile对象呢?这样我就可以读取Jar中包含版本号的文件了?不要将文件读入内存。只需使用以下工具直接阅读版本: 如果您正在从.jar文件的清单中读取该版本,则可以使用而不是jar文件: String version; URL jarLocation = new URL("http://www.example.com

我想检查我目前正在使用的程序的更新,为此我下载JAR文件并将其写入计算机内存。 现在我不知道如何将在此过程中创建的字节[]转换为 JarFile对象


那么如何将这个字节[]转换成JarFile对象呢?这样我就可以读取Jar中包含版本号的文件了?

不要将文件读入内存。只需使用以下工具直接阅读版本:

如果您正在从.jar文件的清单中读取该版本,则可以使用而不是jar文件:

String version;
URL jarLocation = new URL("http://www.example.com/app/latestversion.jar");
try (JarInputStream jarStream = new JarInputStream(jarLocation.openStream())) {

    version = jarStream.getManifest().getMainAttributes().getValue(
        Attributes.Name.SPECIFICATION_VERSION);
}

我发现我现在可以使用JarInputStream了,但多亏了这篇文章,其他人可能会掌握它的窍门:P
String version;
URL jarLocation = new URL("http://www.example.com/app/latestversion.jar");
try (JarInputStream jarStream = new JarInputStream(jarLocation.openStream())) {

    version = jarStream.getManifest().getMainAttributes().getValue(
        Attributes.Name.SPECIFICATION_VERSION);
}