java: String als gzip-Datei speichern

8

Ich bin Java-Anfänger, ich brauche etwas wie das :

%Vor%

Ich kann nicht herausfinden, wie das geht.

    
Luistar15 13.05.2011, 16:05
quelle

2 Antworten

39

Hier gibt es zwei orthogonale Konzepte:

  • Konvertieren von Text in Binärdateien, normalerweise durch OutputStreamWriter
  • Komprimieren der binären Daten, z.B. mit GZIPOutputStream

Also am Ende wirst du wollen:

  • Erstellen Sie ein OutputStream , das in das gewünschte Ergebnis schreibt (z. B. eine Datei oder im Speicher über ByteArrayOutputStream
  • Wickle das OutputStream in einem GZIPOutputStream
  • Wickeln Sie den GZIPOutputStream in einem OutputStreamWriter mit einem geeigneten Zeichensatz (z. B. UTF-8)
  • Schreibe den Text in OutputStreamWriter
  • Schließe den Schreiber, der alles andere bündig macht und schließt.

Zum Beispiel:

%Vor%

Beachten Sie, dass ich output schließe, auch wenn wir den Writer nicht erstellen können, aber wir müssen writer schließen, wenn alles erfolgreich ist, um alles zu löschen und die Daten zu schreiben.

    
Jon Skeet 13.05.2011, 16:12
quelle
2

Schauen Sie sich GZIPOutputStream - Sie an sollte in der Lage sein, dies genauso zu verwenden wie jeder andere Ausgabestrom, um in eine Datei zu schreiben - es wird einfach automatisch in das komprimierte gzip-Format geschrieben.

    
DaveH 13.05.2011 16:10
quelle

Tags und Links