Ciao a tutti,
devo leggere il contenuto di un file zip
dopodiche devo creare un byte[] per singolo file
senza salvare i file sul filesystem
non ho avuto problemi a leggere il file zip
ma non riesco a creare un byte[] per singolo file
creo un ciclo per leggere tutti i file contenuti nel file zip
poi creo un ciclo per la lettura del singolo file
a questo punto dovrei creare un byte[] che devo restituire
ma non so proprio come fare
l'unica cosa che mi è venuta in mente è creare il file e poi eliminarlo ma vorrei evitare.
il codice riportato di seguito effettua il salvataggio dei singoli file
------
ByteBuffer buffer = ByteBuffer.wrap(file);
InputStream is = newInputStream(buffer);
try
{
byte[] buf = new byte[1024];
ZipInputStream zipinputstream = null;
ZipEntry zipentry;
zipinputstream = new ZipInputStream(is);
zipentry = zipinputstream.getNextEntry();
while (zipentry != null)
{
String entryName = zipentry.getName();
String fileType = this.getType(entryName);
int len;
OutputStream out = new FileOutputStream(entryName);
while ((len = zipinputstream.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
zipinputstream.closeEntry();
zipentry = zipinputstream.getNextEntry();
}//while
zipinputstream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("fine unzip");
--------------------------
grazie