English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java fornisce due classi, DeflaterOutputStream e InflaterInputStream, per comprimere e decomprimere i dati.
Comprimere un singolo file-
Creare attraverso l'inserimento del percorso del file da compressare in formato String come parametro del costruttore per creareFileInputStreaml'oggetto.
Creare attraverso l'inserimento del percorso del file di output come parametro del costruttore per creareFileOutputStreaml'oggetto.
Creare attraverso l'inserimento dell'oggetto FileOutputStream creato in precedenza come parametro del costruttore per creareDeflaterOutputStreaml'oggetto.
Poi, leggere il contenuto del file di input e utilizzarewrite()
Metodi della classe DeflaterOutputStream per la scrittura.
import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.DeflaterOutputStream; public class CompressingFiles { public static void main(String args[]) throws IOException { //Istanziazione di FileInputStream- String inputPath = "D:\\ExampleDirectory\\logo.jpg"; FileInputStream inputStream = new FileInputStream(inputPath); //Istanziazione di FileOutputStream- String outputPath = "D:\\ExampleDirectory\\compressedLogo.txt"; FileOutputStream outputStream = new FileOutputStream(outputPath); //Istanziazione di DeflaterOutputStream- DeflaterOutputStream compresser = new DeflaterOutputStream(outputStream); int contents; while ((contents=inputStream.read())!=-1){ compresser.write(contents); } compresser.close(); System.out.println("Il file è compresso.......-"); } }
Risultato di output
Il file è compresso.......-
Decomprimere il file compresso-
Creare attraverso l'inserimento del percorso del file compresso in formato String come parametro del costruttoreFileInputStreaml'oggetto.
Creare attraverso l'inserimento del percorso del file di output (file di immagine non compresso) in formato String come parametro del costruttoreFileOutputStreaml'oggetto.
creareInflaterInputStreamcreando l'oggetto come sopra descritto,FileOutputStreaml'oggetto, come parametro passato al suo costruttore.
poi, leggereInflaterInputStreamil contenuto dell'oggetto, utilizzandowrite()
metodi della classe FileOutputStream per la scrittura.
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.InflaterInputStream; public class DeCompressingFiles { public static void main(String args[]) throws IOException { StringinputPath = "D:\\ExampleDirectory\\compressed.txt"; //Istanziazione di FileInputStream- FileInputStream inputStream = new FileInputStream(inputPath); String outputpath = "D:\\ExampleDirectory\\output.jpg"; FileOutputStream outputStream = new FileOutputStream(outputpath); InflaterInputStream decompresser = new InflaterInputStream(inputStream); int contents; while ((contents = decompresser.read()) != -1) { outputStream.write(contents); } //Chiudi il file outputStream.close(); decompresser.close(); System.out.println("File non-compresso......"); } }
Risultato di output
File non compresso......