首页 文章

使用ZipInputStream读取和修改内部zip文件的内容

提问于
浏览
0

我正在尝试使用ZipInputStream修改web.xml . 要读取的文件是web.xml,它位于ear / war文件中

C:/XX.ear/YY.war/WEB-INF/web.xml

ZipFile zipFile = new ZipFile("C:/XX.ear");
    Enumeration<? extends ZipEntry> entries = zipFile.entries();
    while(entries.hasMoreElements()){
        ZipEntry entry = entries.nextElement();
        if(entry.getName().equalsIgnoreCase("YY.war")){
            ZipInputStream inputStream = new ZipInputStream(zipFile.getInputStream(entry));
            ZipEntry zipEntry;
            while(( zipEntry  = inputStream.getNextEntry())!=null)
            {
                System.out.println(zipEntry.getName());// Prints WEB-INF/web.xml
                if (zipEntry.getName().endsWith(".xml")) {
                    ZipInputStream iStream = new ZipInputStream(zipFile.getInputStream(zipEntry)); 
                      // throws NullPointerException here

                }                   
            }                   
        }                       
    }

新的ZipInputStream( zipFile .getInputStream(zipEntry))我无法指向内部zip文件来获取内部战争文件的输入流

是否有可能将内部zipentry读作输入流?

1 回答

相关问题