Modification d'un fichier texte dans une archive ZIP en Java

Mon cas d'utilisation m'oblige à ouvrir un fichier txt, dire abc.txt qui est à l'intérieur d'une archive zip qui contient des paires clé-valeur dans la forme

cle1=valeur1

cle2=valeur2

.. et ainsi de suite, où chaque paire clé-valeur est dans une nouvelle ligne.
J'ai pour modifier une valeur correspondant à une clé donnée et de mettre le fichier texte dans une nouvelle copie de l'archive. Comment puis-je le faire en java?

Ma tentative à ce jour:

    ZipFile zipFile = new ZipFile("test.zip");
    final ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("out.zip"));
    for(Enumeration e = zipFile.entries(); e.hasMoreElements(); ) {
        ZipEntry entryIn = (ZipEntry) e.nextElement();
        if(!entryIn.getName().equalsIgnoreCase("abc.txt")){
            zos.putNextEntry(entryIn);
            InputStream is = zipFile.getInputStream(entryIn);
            byte [] buf = new byte[1024];
            int len;
            while((len = (is.read(buf))) > 0) {            
                zos.write(buf, 0, len);
            }
        }
        else{
            //I'm not sure what to do here
            //Tried a few things and the file gets corrupt
        }
        zos.closeEntry();
    }
    zos.close();

source d'informationauteur Prabhakar