Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262

    scompattare un archivio zip

    ciao,
    ho un problema semplice:
    come fare per scompattare in java un archivio zip? Postate il codice o link a siti ke abbiano indicazioni concrete.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    codice:
    File zipFile = ...
    ZipFile file = new ZipFile(zipFile);
    Enumeration en = file.entries();
    while (en.hasMoreElements()) {
      ZipEntry entry = (ZipEntry)en.nextElement();
      BufferedInputStream BIS = new BufferedInputStream(file.getInputStream(entry));
      File outFile = new File(entry.getName());
      FileOutputStream FOS = new FileOutputStream(outFile);
      byte[] buffer = new byte[8192];
      int read;
      while ((read = BIS.read(buffer)) > 0) {
        FOS.write(buffer, 0, read);
      }
      FOS.close();
      BIS.close();
    }
    il codice per estrarre le directory č simile, basta un piccolo sforzo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    dopo aver provato vari codici trovati in rete, mi da errore su questa linea di codice
    Enumeration en = file.entries();
    mi da un NullPointerException

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    magari file č null

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    Originariamente inviato da floyd
    magari file č null

    File f = new File("C:\\lettore.zip");
    System.out.println("f: "+f.getPath());
    ZipFile zf = new ZipFile(f);

    nella console mi stampa:

    java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:204)
    f: C:\lettore.zip
    at java.util.zip.ZipFile.<init>(ZipFile.java:235)
    at avvialettore.Unzip.expandArchive(Unzip.java:81)
    at avvialettore.Main.main(Main.java:51)
    BUILD SUCCESSFUL (total time: 0 seconds)

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    1 prova System.out.print(f.exists());
    2 lo zip č corrotto o protetto da password?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    Originariamente inviato da floyd
    1 prova System.out.print(f.exists());
    2 lo zip č corrotto o protetto da password?


    File f = new File("C:\\lettore.zip");
    boolean var = f.exists();
    System.out.println("f: "+var);


    f: true
    java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:204)
    at java.util.zip.ZipFile.<init>(ZipFile.java:235)
    at avvialettore.Unzip.expandArchive(Unzip.java:82)
    at avvialettore.Main.main(Main.java:51)
    BUILD SUCCESSFUL (total time: 0 seconds)


    Ma il percorso da passare deve essere c:\\ecc oppure soltanto il file.zip?

    Il dubbio mi viene leggendo questo esempio dell'almanacco:
    http://javaalmanac.com/egs/java.util...Zip.html?l=rel

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    dipende
    un path assoluto va bene per prova
    lo zip č corrotto o protetto da password?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    Originariamente inviato da floyd
    dipende
    un path assoluto va bene per prova
    scusa, zip no pass e no corr. E' uno zip creato con un solo file dentro, giusto x prova

  10. #10
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    bho
    quel codice lo uso e funziona
    prova a leggere http://java.sun.com/developer/techni...g/compression/

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 © 2025 vBulletin Solutions, Inc. All rights reserved.