Ajouter un commentaire

manurevait

Quote:
Alors voilà un exemple. Soient deux fichiers programmez.txt et abonnement.txt. les fichiers existent (dans le répertoire de l'utilisateur) et contiennent du texte.
On les met tous les deux dans l'archive monzip.zip

Voici ce qui me parait enfin très claire.
Merci pour ton aide. :D

Comme je n'ai qu'un fichier à compresser j'ai adapter ton exemple à mon cas d'utilisation.

Voici le résultat:

	public String ZipOneFileB(String zipFileName, String source )
	{
		int retour = 0;
		
   		/*************
   		 * Compression
   		 *************/
		
		try {
      	
      		// création d'un flux d'écriture sur fichier
			FileOutputStream dest = new FileOutputStream( zipFileName+ ".zip");
			 
			// calcul du checksum : Adler32 (plus rapide) ou CRC32
			CheckedOutputStream checksum = new CheckedOutputStream(dest, new Adler32());
			 
      		// création d'un buffer d'écriture
			BufferedOutputStream buff = new BufferedOutputStream(checksum);
			 
      		// création d'un flux d'écriture Zip
			ZipOutputStream out = new ZipOutputStream(buff);			

       	  	// spécification de la méthode de compression
			out.setMethod(ZipOutputStream.DEFLATED);

			// spécifier la qualité de la compression 0..9
			out.setLevel(Deflater.BEST_COMPRESSION);
			
         
      	  	// buffer temporaire des données ‡ écriture dans le flux de sortie
			byte data[] = new byte[BUFFER];
			 			
           	ZipEntry entree = new ZipEntry(source);
	          out.putNextEntry(entree);
	
	            File f = new File(source);
	            InputStream in = new FileInputStream(f);
	            while (in.available() > 0)
	              out.write(in.read());
	            in.close();
	           
			// Close the current entry
         		out.closeEntry();
         		
         	 	// fermeture du flux d'écriture
			out.close();
			buff.close();
			checksum.close();
			dest.close();

	
         
		// traitement de toute exception         
		} catch(Exception e) {
			e.printStackTrace();
			test.log_erreur( e.getMessage(), this );
			return "pb"+retour;
		}
		return "0";
      
   }

___________
Cordialement,
Manu

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 L     L     W     W  DDD    GGG  
L L W W D D G
L L W W W D D G GG
L L W W W D D G G
LLLL LLLL W W DDD GGG