Preciso de criar um método que recebe o InputStream de um arquivo como uma entrada,
e o OutputStream de um outro arquivo como uma saída.
Sendo que o arquivo de entrada deverá ser zipado no arquivo de saída.
Esse é o problema que tenho que resolver!!!
Para tentar resolver esse problema criei o método abaixo
No entanto estou tendo problema para utilizar o método putNextEntry de java.util.zip.ZipOutputStream,
pois o mesmo tem como argumento um ZipEntry, e o ZipEntry por sua vez tem como argumento uma String
sendo que eu não tenho a String do arquivo de entrada SOMENTE o InputStream.
Alguém sabe como resolver esse problema ???
A ÚNICA COISA QUE NÃO POSSO MUDAR É A ASSINATURA DO MÉTODO…
import java.io.*;
import java.util.zip.*;
public void comprimirZip(InputStream arqEntrada, OutputStream arqSaida) {
        byte[] buffer = new byte[1024];
        ZipOutputStream out = new ZipOutputStream(arqSaida);
        try {
                        
            out.putNextEntry(arqEntrada);//Aqui está o problema!!!!!!!!
            int len;
            while ((len = arqEntrada.read(buffer)) > 0 ) {
                out.write(buffer, 0, len);
            }
        } catch (Exception e) {
        }
        try {
            out.closeEntry();
            out.close();
            arqEntrada.close();
        } catch (Exception e) {
        }
    }