模块  java.base
软件包  java.util.jar

Class JarInputStream

  • 实现的所有接口
    CloseableAutoCloseable

    public class JarInputStream
    extends ZipInputStream
    JarInputStream类用于从任何输入流中读取JAR文件的内容。 它扩展了java.util.zip.ZipInputStream类,支持读取可选的Manifest条目。 Manifest可用于存储有关JAR文件及其条目的元信息。
    从以下版本开始:
    1.2
    另请参见:
    ManifestZipInputStream
    • 构造方法详细信息

      • JarInputStream

        public JarInputStream​(InputStream in)
                       throws IOException
        创建一个新的JarInputStream并读取可选的清单。 如果存在清单,则还会尝试在JarInputStream签名时验证签名。
        参数
        in - 实际的输入流
        异常
        IOException - 如果发生I / O错误
      • JarInputStream

        public JarInputStream​(InputStream in,
                              boolean verify)
                       throws IOException
        创建一个新的JarInputStream并读取可选的清单。 如果存在清单且验证为真,则还会尝试在JarInputStream签名时验证签名。
        参数
        in - 实际输入流
        verify - 是否验证JarInputStream是否已签名。
        异常
        IOException - 如果发生I / O错误
    • 方法详细信息

      • getManifest

        public Manifest getManifest()
        返回此JAR文件的 null如果没有,则返回 Manifest
        结果
        Manifest这个JAR文件,或 null如果没有。
      • getNextEntry

        public ZipEntry getNextEntry()
                              throws IOException
        读取下一个ZIP文件条目,并将流定位在条目数据的开头。 如果已启用验证,则在为下一个条目定位流时检测到的任何无效签名都将导致异常。
        重写:
        getNextEntry在类 ZipInputStream
        结果
        下一个ZIP文件条目,如果没有更多条目,则返回null
        异常
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
        SecurityException - 如果任何jar文件条目未正确签名。
      • getNextJarEntry

        public JarEntry getNextJarEntry()
                                 throws IOException
        读取下一个JAR文件条目并将流定位在条目数据的开头。 如果已启用验证,则在为下一个条目定位流时检测到的任何无效签名都将导致异常。
        结果
        下一个JAR文件条目,如果没有更多条目,则返回null
        异常
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
        SecurityException - 如果任何jar文件条目未正确签名。
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws IOException
        从当前JAR文件条目读入一个字节数组。 如果len不为零,则该方法将阻塞,直到某些输入可用; 否则,不读取任何字节,并返回0 如果已启用验证,则在到达条目结束之前的某个时间点将报告当前条目上的任何无效签名。
        重写:
        read在类 ZipInputStream
        参数
        b - 读取数据的缓冲区
        off - 目标数组 b的起始偏移量
        len - 要读取的最大字节数
        结果
        读取的实际字节数,如果到达条目的末尾,则返回-1
        异常
        NullPointerException - 如果 bnull
        IndexOutOfBoundsException - 如果 off为负数, len为负数,或 len为负, len b.length - off
        ZipException - 如果发生ZIP文件错误
        IOException - 如果发生I / O错误
        SecurityException - 如果任何jar文件条目未正确签名。
        另请参见:
        FilterInputStream.in
      • createZipEntry

        protected ZipEntry createZipEntry​(String name)
        为指定的JAR文件条目名称创建新的JarEntryZipEntry )。 指定的JAR文件条目名称的清单属性将复制到新的JarEntry
        重写:
        createZipEntry在类 ZipInputStream
        参数
        name - JAR / ZIP文件条目的名称
        结果
        刚刚创建的 JarEntry对象