Cómo leer el contenido del archivo comprimido sin extraerlo en java

Tengo archivo con nombres comoex.zip. En este ejemplo, el archivo Zip contiene solo un archivo con el mismo nombre (es decir, `ex.txt '), que es bastante grande. No quiero extraer el archivo zip cada vez. Por lo tanto, necesito leer el contenido del archivo (ex.txt) sin extraer el archivo zip. Intenté un código como el siguiente, pero solo puedo leer el nombre del archivo en la variable.

¿Cómo leo el contenido del archivo y lo almaceno en la variable?

Gracias de antemano

fis=new FileInputStream("C:/Documents and Settings/satheesh/Desktop/ex.zip");
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
ZipEntry entry;

while((entry = zis.getNextEntry()) != null) {
    i=i+1; 
    System.out.println(entry);
    System.out.println(i);
    //read from zis until available
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta