2 Stimmen

GZIP akzeptiert keinen fileStream

String inFileName = testDoc.gz;

File inFile = new File(inFileName);
System.out.println(inFileName);
FileInputStream fileStream = new FileInputStream(inFile);
GZIPInputStream gzipInputStream = new GZIPInputStream(fileStream);

Bei der Ausführung des obigen Codes in der letzten Zeile tritt der Fehler auf:

java.io.IOException: Not in GZIP format

Ich habe es mit mehreren Dokumenten versucht und kann das Problem nicht erkennen.

EDIT: Die Dokumente wurden nicht von mir erstellt, sondern sind heruntergeladen. Sie sind im .gz-Format und mit mehreren Dokumenten meine ich verschiedene .gz-Dateien.

1voto

javamonkey79 Punkte 17177

Sie können versuchen, die GZIP-Datei mit VFS .

0voto

Chochos Punkte 5120

GZIPInputStream arbeitet mit GZIP-Dateien und dekomprimiert die Eingabe. GZIPOutputStream komprimiert alles, was Sie in ihn schreiben. Wenn Sie also Daten komprimieren wollen, dann müssen Sie in einen GZIPOutputStream schreiben.

Um eine Datei zu komprimieren, lesen Sie mit mit einem FileInputStream und umhüllen Sie einen FileOutputStream mit einem GZIPOutputStream; lesen Sie aus der Eingabedatei in einen Puffer, schreiben Sie den Puffer in den GZIPOutputStream, bis Sie fertig sind und schließen Sie dann den GZIPOutputStream.

Um die Daten zu dekomprimieren, kann man sie mit einem GZIPInputStream einlesen. Ich habe es gerade überprüft und es funktioniert; komprimiert eine Datei mit gzip auf der Kommandozeile und lesen Sie es mit einem GZIPInputStream (um einen FileInputStream gewickelt).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X