Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568

    [java] decomprimere zip

    questo è il codice... mi decomprime solo il primo files ???
    dove sbaglio ???

    codice:
    	// FUNZIONE PER DECOMPRIMERE I FILES ZIP
    	public boolean unzip(String pathFile) throws IOException {
    		boolean returnValue = false;;
    		try {
    			int BUFFER = 2048;
    			BufferedOutputStream dest = null;
    			BufferedInputStream is = null;
    			ZipEntry entry;
    			ZipFile zipfile = new ZipFile(pathFile);
    			Enumeration e = zipfile.entries();
    			while(e.hasMoreElements()) {
    				entry = (ZipEntry) e.nextElement();
    				is = new BufferedInputStream(zipfile.getInputStream(entry));
    				int count;
    				byte data[] = new byte[BUFFER];
    				FileOutputStream fos = new FileOutputStream(entry.getName());
    				dest = new 
    				BufferedOutputStream(fos, BUFFER);
    				while ((count = is.read(data, 0, BUFFER)) 
    					!= -1) {
    					dest.write(data, 0, count);
    				}
    				dest.flush();
    				dest.close();
    				is.close();
    				zipfile.close();
    				returnValue = true;
    			}
    		} catch(Exception e) {
    			returnValue = false;
    		}
    		return returnValue;
    	}
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  2. #2
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    boh... cmq ho trovato quest'altro che funziona...

    codice:
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    
    
    
    public class ZipHelper {
    
    	// FUNZIONE PER DECOMPRIMERE I FILES ZIP
    	public boolean unzip(String pathFile) throws IOException {
    		boolean trovatiErrori = true;
    		final int BUFFER = 2048;
    		try {
    			BufferedOutputStream dest = null;
    			FileInputStream fis = new FileInputStream(pathFile);
    			ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
    			ZipEntry entry;
    			while((entry = zis.getNextEntry()) != null) {
    				int count;
    				byte data[] = new byte[BUFFER];
    				FileOutputStream fos = new FileOutputStream(entry.getName());
    				dest = new BufferedOutputStream(fos, BUFFER);
    				while ((count = zis.read(data, 0, BUFFER)) != -1) {
    					dest.write(data, 0, count);
    				}
    				dest.flush();
    				dest.close();
    			}
    			zis.close();
    			trovatiErrori = false;
    		} catch(Exception e) {
    			trovatiErrori = true;
    		}
    			
    		return trovatiErrori;
    	}
    
    }
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  3. #3
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ufffaaaa... ora mi sto arrabbiando !!!!!!
    neanche questa va bene... anzichè estrarre cartelle mi rea un file con il nome della cartella !!!!!!!!!!

    ma insomma nessuno conosce un modo per unzippare decente ????
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Dal forum della sun:

    codice:
    import java.io.*;
    import java.util.*;
    import java.util.zip.*;
    
    
    public class Zipping {
    
      public static ArrayList unzip(InputStream inputStream, String destinationDir) throws IOException {
            ArrayList result = null;
    
            final int BUFFER = 2048;
    
            if (inputStream != null && destinationDir != null) {
                result = new ArrayList();
                ZipInputStream zis = null;
                BufferedOutputStream bos = null;
                try {
                    zis = new ZipInputStream(new BufferedInputStream(inputStream));
                    ZipEntry entry = null;
                    while((entry = zis.getNextEntry()) != null) { //for each zip entry
                        if (entry.isDirectory()) { //directory
                            File dir = new File(destinationDir + File.separator + entry.getName());
                            dir.mkdirs();
                        } else { //file
                            int count;
                            byte data[] = new byte[BUFFER];
                            String fileName = destinationDir + File.separator + entry.getName();
                            FileOutputStream fos = new FileOutputStream(fileName);
                            bos = new BufferedOutputStream(fos, BUFFER);
                            while ((count = zis.read(data, 0, BUFFER)) != -1) {
                                bos.write(data, 0, count);
                            }
                            bos.flush();
                            result.add(fileName);
                        }
                    }//next zip entry
                    zis.close();
                } finally {
                    if (bos != null) { try { bos.close(); } catch (IOException ioe) { /* ignore */ } }
                    if (zis != null) { try { zis.close(); } catch (IOException ioe) { /* ignore */ } }
                }
            }//else: input value unavailable
    
            return result;
        }//unzip()
    
    
        public static void main (String[] args) {
          if (args.length != 2) {
            System.out.println("Uso: java Zipping File.ZIP Cartella_di_Destinazione");
            System.exit(0);
          }
          else {
            try {
              unzip(new FileInputStream(args[0]), args[1]);
            }
            catch (Exception e) {
              e.toString();
            }
          }
        }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    ..mhhh... e perchè non l'ho trovata ???
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    biblioteconomia e tassonomia dovrebbero essere insegnate ancor prima dell'alfabeto... Scherzavo... I post erano tantini, magari ti è sfuggito proprio quello che ti risolveva il problema....
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Utente di HTML.it L'avatar di morphy79
    Registrato dal
    Jun 2004
    Messaggi
    1,568
    grazie 1000 cmq
    odio chi parla di politica..
    anzi vorrei fondare un partito contro tutto ciò

  8. #8
    riuppo questa discussione di 7 anni fà non perchè sono pazzo, ma perchè nella ricerca è stata la soluzione che ha funzionato, on un piccolo "problema".

    se non chiudo il programma è come se non facessse il close sui file. mi spiego meglio.


    io devo decomprimere una cartella con dei file...quando vado a decomprimere la cartella la creazione dei file và a buon fine, solo che i file mi risultano a 0k e aperti, e devo chiudere l'applicazione per poi riaprirla ed avere i file correttamente salvati.

    mi saperste "spiegare" il perchè?

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Originariamente inviato da franksisca
    riuppo questa discussione di 7 anni fà non perchè sono pazzo, ma perchè nella ricerca è stata la soluzione che ha funzionato, on un piccolo "problema".
    In tal caso, si apre una discussione nuova, descrivendo il proprio problema specifico ed eventualmente, se può essere utile, si fa riferimento a questa discussione con un link.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.