Ciao
ho guardato un pò in giro ma non sono riuscito a trovare l'ultima parte che cerco.
provo a spiegarmi:
ho dei documenti doc/docx. Dentro ho inserito dei valori ad esempio $data$.
questi caratteri li devo sostituire con valori che provengono da un file xml.
in pratica è una sorta di stampa unione...
la lettura dell'xml è ok.
la lettura del file docx tramite java.util.zip è ok
ora non riesco a capire come fare per cambiare parte di testo.

di seguito il codice:
codice:
import java.util.zip.*;
        
public class TestZip {
    
    public static void main(String args[]){
        
       
        try{
            ZipInputStream zis = new ZipInputStream(new FileInputStream("c:/P03_md07_modello_st_unione.docx") );
            ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("c:/P03_md07_modello_st_unione.docx") );
            ZipEntry entry;
            while((entry=zis.getNextEntry())!=null){
                if(entry.getName().equals("word/document.xml")){
                    System.out.println(entry.getName());
                    BufferedReader br = new BufferedReader(new InputStreamReader(zis));
                   
                     
                    String s;
                    while((s=br.readLine())!=null){
                        if(s.contains("$data$")){
                            System.out.println(s);
                            s.replace("$data$", "ok funge");
                            
                        }
                    }
                }
                
            }
                    }
        catch(Exception e){
            e.printStackTrace();
        } 
    }
}
grazie mille per i suggerimenti