Pour Compresser un gros fichier dans un ZIP avec Java

J'ai le besoin de compresser un Gros fichier (~450 Mo) par le biais de la classe Java ZipOutputStream. Cette grande dimension sont les causes d'un problème de dépassement de mémoire" erreur de ma Segment de la JVM de l'Espace. Cela se produit parce que le "zos.écrire(...)" méthode stocke le contenu du fichier pour le compresser en interne tableau d'octets avant de le compresser.

            origin = new BufferedInputStream(fi, BUFFER);
        ZipEntry entry = new ZipEntry(filePath);
        zos.putNextEntry(entry);

        int count;
        while ((count = origin.read(data, 0, BUFFER)) != -1)
        {
            zos.write(data, 0, count);
        }
        origin.close();

La solution naturelle sera pour agrandir le tas de l'espace mémoire de la JVM, mais je voudrais savoir si il existe une méthode pour écrire des données dans un streaming. Je n'ai pas besoin d'un taux de compression élevé pour que je puisse changer l'algorithme de trop.

quelqu'un a une idée à ce sujet?

Quelle est la taille de la mémoire TAMPON?
Comme je l'ai écrit 2048

OriginalL'auteur robob | 2009-11-20