Inhalt einer zip-Datei anzeigen

Schaaaf

Bekanntes Mitglied
Hallo,

Ich habe eine zip-Datei gedownloaded und wolle nun wissen, welche Dateien darin enthalten sind.
Kann mir jemand sagen, mit welchen Befehl ich den Inhalt einer zip-Datei anzeigen lassen kann?

Danke schon mal..
 

Schaaaf

Bekanntes Mitglied
Okay. Das hilft mir allgemein ersteinmal weiter. Dann scheint es an der Datei zu liegen. Ich habe nämlich folgenden Fehlermeldung :

java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at UnZip2.main(UnZip2.java:13)

Kann ich da etwas machen, damit ich die Datei trotzdem verwenden kann?
 

Schaaaf

Bekanntes Mitglied
Java:
try
       {
         System.out.println("Example of ZIP file decompression.");

         // Specify file to decompress
         String inFileName = "C:/Daten/test32.zip";
         // Specify destination where file will be unzipped
         String destinationDirectory = "C:/Daten/";

         File sourceZipFile = new File(inFileName);
         File unzipDestinationDirectory = new File(destinationDirectory);

         // Open Zip file for reading
         ZipFile zipFile = new ZipFile(sourceZipFile, ZipFile.OPEN_READ);

         // Create an enumeration of the entries in the zip file
         Enumeration zipFileEntries = zipFile.entries();

         // Process each entry
         while (zipFileEntries.hasMoreElements())
         {
           // grab a zip file entry
           ZipEntry entry = (ZipEntry) zipFileEntries.nextElement();

           String currentEntry = entry.getName();
           System.out.println("Extracting: " + entry);

           File destFile =
             new File(unzipDestinationDirectory, currentEntry);

           // grab file's parent directory structure
           File destinationParent = destFile.getParentFile();

           // create the parent directory structure if needed
           destinationParent.mkdirs();

           // extract file if not a directory
           if (!entry.isDirectory())
           {
             BufferedInputStream is =
               new BufferedInputStream(zipFile.getInputStream(entry));
             int currentByte;
             // establish buffer for writing file
             byte data[] = new byte[BUFFER];

             // write the current file to disk
             FileOutputStream fos = new FileOutputStream(destFile);
             BufferedOutputStream dest =
             new BufferedOutputStream(fos, BUFFER);

             // read and write until last byte is encountered
             while ((currentByte = is.read(data, 0, BUFFER)) != -1)
             {
               dest.write(data, 0, currentByte);
             }
             dest.flush();
             dest.close();
             is.close();
           }
         }
         zipFile.close();
       }
       catch (IOException ioe)
       {
       ioe.printStackTrace();
       }

Das ist der zip-Teil. Wie gesagt, mit anderen zip-Files funktioniert es, aber nicht mit meinen.
Da fällt mir grad auch auf, dass die Endung von meinen Datein *.gz ist. Macht das einen Unterschied im Handling?
 

Schaaaf

Bekanntes Mitglied
Könnte sonst jemand mal meinen kompletten Code testen? Ich geb mal die URL mit. Wäre echt lieb.

Java:
import java.awt.Desktop;
import java.io.*;
import java.net.URL;
import java.util.Enumeration;
import java.util.zip.GZIPInputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;  
import java.util.zip.ZipInputStream;

import javax.swing.JOptionPane;

//import javax.swing.JOptionPane;


class Test{
    private static final int BUFFER = 2048;

	public static void main (String[] args) throws Exception { 
			//////Datensatz von URL laden/////
       String datensatz = "GDS100";
       String seitenurl = "ftp.ncbi.nih.gov/pub/geo/DATA/SOFT/GDS/"+datensatz+".soft.gz";
       //Datensatz downloaden
       URL neturl = new URL("ftp://"+seitenurl); 
       InputStream in = neturl.openConnection().getInputStream(); 
       		/////Datensatz speichern/////
       // Lokaler Pfad des Datensatzes
       String localurl = "C:"+File.separator+"Daten"+File.separator+datensatz+".gz";
       //Fileobjekt mit dem Pfad erzeugen und dort den Datensatz speichern
       OutputStream out = new FileOutputStream(new File(localurl));
       byte[] buffer = new byte[1024]; 
       for (int n;(n = in.read(buffer)) != -1; out.write(buffer, 0, n));
        
       in.close(); 
       out.close();
       
       		/////Datensatz entpacken/////
       try
       {
         System.out.println("Example of ZIP file decompression.");

         // Specify file to decompress
         String inFileName = "C:/Daten/GDS100.soft.gz";
         // Specify destination where file will be unzipped
         String destinationDirectory = "C:/Daten/";

         File sourceZipFile = new File(inFileName);
         File unzipDestinationDirectory = new File(destinationDirectory);

         // Open Zip file for reading
         ZipFile zipFile = new ZipFile(sourceZipFile, ZipFile.OPEN_READ);

         // Create an enumeration of the entries in the zip file
         Enumeration zipFileEntries = zipFile.entries();

         // Process each entry
         while (zipFileEntries.hasMoreElements())
         {
           // grab a zip file entry
           ZipEntry entry = (ZipEntry) zipFileEntries.nextElement();

           String currentEntry = entry.getName();
           System.out.println("Extracting: " + entry);

           File destFile =
             new File(unzipDestinationDirectory, currentEntry);

           // grab file's parent directory structure
           File destinationParent = destFile.getParentFile();

           // create the parent directory structure if needed
           destinationParent.mkdirs();

           // extract file if not a directory
           if (!entry.isDirectory())
           {
             BufferedInputStream is =
               new BufferedInputStream(zipFile.getInputStream(entry));
             int currentByte;
             // establish buffer for writing file
             byte data[] = new byte[BUFFER];

             // write the current file to disk
             FileOutputStream fos = new FileOutputStream(destFile);
             BufferedOutputStream dest =
             new BufferedOutputStream(fos, BUFFER);

             // read and write until last byte is encountered
             while ((currentByte = is.read(data, 0, BUFFER)) != -1)
             {
               dest.write(data, 0, currentByte);
             }
             dest.flush();
             dest.close();
             is.close();
           }
         }
         zipFile.close();
       }
       catch (IOException ioe)
       {
       ioe.printStackTrace();
       }
     }
}
 
G

Gastredner

Gast
Was sollte man da testen? Mit GZIP-Dateien kann dieser Code einfach nicht umgehen, was auch deutlich aus dem verlinkten Abschnitt der Insel klar geworden sein sollte: GZIP unterstützt das Komprimieren mehrerer Dateien nicht, weshalb man GZIP-Dateien nicht mit ZipFile und ZipEntry auslesen kann. Der Insel-Abschnitt enhält auch ein komplettes Beispiel zum Entpacken von GZIP-Archiven, anhand dessen es ein Einfaches sein sollte, deinen Code passend umzuschreiben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Eingabe eines Textfeldes mit Inhalt einer Datei vergleichen Allgemeine Java-Themen 4
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
I Inhalt einer Website auslesen Allgemeine Java-Themen 6
D Eclipse Kein Zugriff auf Inhalt einer referenzierten .jar Allgemeine Java-Themen 5
C JFormattedTextField Inhalt einer Variable zuweisen Allgemeine Java-Themen 11
P Inhalt einer Mail anzeigen Allgemeine Java-Themen 5
G Inhalt einer Textdatei in eine AWT List schreiben Allgemeine Java-Themen 3
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
G JTextField Inhalt in einem Long einfügen Allgemeine Java-Themen 2
KeVoZ_ JSoup - Website Inhalt/Element mit String vergleichen Allgemeine Java-Themen 2
T String auf Inhalt bzw. Schema überprüfen Allgemeine Java-Themen 12
T Threads Input/Output im Thread - Datei ohne Inhalt Allgemeine Java-Themen 1
L Input/Output Datei einlesen und Inhalt in Array schreiben Allgemeine Java-Themen 3
U JNI -> Inhalt dll zugreifen Allgemeine Java-Themen 5
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
S leeres package obwohl inhalt da Allgemeine Java-Themen 53
Iron Monkey Inhalt von JTable in die Textdatei mit StringWidth schreiben Allgemeine Java-Themen 3
A Excel nach bestimmten Inhalt durchsuchen Allgemeine Java-Themen 8
U Webseiten Inhalt auslesen... Allgemeine Java-Themen 7
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
I Webseite auslesen (welche mittels Javascript Inhalt einbindet) Allgemeine Java-Themen 4
N Objekte aus Array Inhalt erzeugen Allgemeine Java-Themen 8
J XML Inhalt von Web abfragen Allgemeine Java-Themen 6
W Inhalt aus String evaluieren Allgemeine Java-Themen 6
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
A Inhalt ListEditor und Buttons ausblenden Allgemeine Java-Themen 5
Y Excel datei einlesen und inhalt verarbeiten Allgemeine Java-Themen 8
D Inhalt der JTextArea drucken Allgemeine Java-Themen 2
J Inhalt von HashMap vergleichen Allgemeine Java-Themen 3
T Bestimmten Inhalt aus Manifest.MF auslesen Allgemeine Java-Themen 8
F JFrame zeigt Hintergrund und nicht den Inhalt Allgemeine Java-Themen 12
T (Binary)Datei einlesen, Inhalt ändern, Datei schreiben Allgemeine Java-Themen 4
O Inhalt vom JTextfield im DebugMode ermitteln? Allgemeine Java-Themen 2
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
D Inhalt eines Ordners auflisten. Allgemeine Java-Themen 2
7 Inhalt eines Objekts leeren aber Objekt nicht löschen Allgemeine Java-Themen 17
D Inhalt eines Packages im Code verarbeiten Allgemeine Java-Themen 18
J Datei Inhalt vergleichen (schnell & effizient!) Allgemeine Java-Themen 10
MQue Array inhalt verschieben Allgemeine Java-Themen 6
N RandomAccessFile überschreibt Inhalt Allgemeine Java-Themen 3
Y Klassen mit ähnlichem Inhalt: wie unterscheiden? Allgemeine Java-Themen 9
M Inhalt von Textdatei in Spinner Allgemeine Java-Themen 5
T Bild verliert Inhalt. Allgemeine Java-Themen 6
A "Webseite-Inhalt" ins Arabische&Französische ü Allgemeine Java-Themen 2
T HashMap#get neues Objekt, selber Inhalt Allgemeine Java-Themen 12
G Inhalt eines Arrays loggen Allgemeine Java-Themen 8
B Inhalt von StringBuffer löschen Allgemeine Java-Themen 14
J File: Inhalt des Ordners aus dem die aktuelle Datei ausgefüh Allgemeine Java-Themen 6
P Wie kann ich den Inhalt eines Textdokuments löschen? Allgemeine Java-Themen 9
K Inhalt von Vektoren auslesen Allgemeine Java-Themen 6
T iso datei (Image) mit Java einlesen und Inhalt entpacken Allgemeine Java-Themen 3
K JTree Inhalt löschen und Anzeige aktualisieren Allgemeine Java-Themen 13
G ResultSet auf Inhalt prüfen? Allgemeine Java-Themen 2
G Inhalt von Servern anzeigen lassen Allgemeine Java-Themen 9
R Tabellen inhalt mal vorhanden, mal nicht!?! Allgemeine Java-Themen 2
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
_user_q Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
D Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
H Mehrere PNG-Files in einer Datei Allgemeine Java-Themen 9
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
J Zerlegen einer Zahl Allgemeine Java-Themen 6
Zrebna Wie kann man endgültig aus einer Rekursion ausbrechen? Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben