Décompressez les fichiers en Java
Nous pouvons utiliser l’API Zip
intégrée à Java pour extraire un fichier zip. Ce tutoriel montre comment extraire un fichier zip en Java.
Décompressez les fichiers en Java
Le java.util.zip
sert à décompresser les fichiers zip en Java. Le ZipInputStream
est la classe principale utilisée pour lire les fichiers zip et les extraire.
Suivez les étapes ci-dessous pour extraire les fichiers zip en Java.
-
Lire le fichier zip en utilisant
ZipInputStream
etFileInputStream
. -
Lire les entrées en utilisant la méthode
getNextEntry()
. -
Lisez maintenant les données binaires en utilisant la méthode
read()
avec des octets. -
Fermez l’entrée en utilisant la méthode
closeEntry()
. -
Enfin, fermez le fichier zip.
Nous avons créé une fonction pour prendre le chemin d’entrée et de destination et extraire les fichiers pour implémenter ces étapes. Le fichier zip est ci-dessous.
Implémentons la méthode ci-dessus en Java pour extraire le fichier zip affiché dans l’image.
package delftstack;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
public class Java_Unzip {
private static final int BUFFER_SIZE = 4096;
public static void unzip(String ZipFilePath, String DestFilePath) throws IOException {
File Destination_Directory = new File(DestFilePath);
if (!Destination_Directory.exists()) {
Destination_Directory.mkdir();
}
ZipInputStream Zip_Input_Stream = new ZipInputStream(new FileInputStream(ZipFilePath));
ZipEntry Zip_Entry = Zip_Input_Stream.getNextEntry();
while (Zip_Entry != null) {
String File_Path = DestFilePath + File.separator + Zip_Entry.getName();
if (!Zip_Entry.isDirectory()) {
extractFile(Zip_Input_Stream, File_Path);
} else {
File directory = new File(File_Path);
directory.mkdirs();
}
Zip_Input_Stream.closeEntry();
Zip_Entry = Zip_Input_Stream.getNextEntry();
}
Zip_Input_Stream.close();
}
private static void extractFile(ZipInputStream Zip_Input_Stream, String File_Path)
throws IOException {
BufferedOutputStream Buffered_Output_Stream =
new BufferedOutputStream(new FileOutputStream(File_Path));
byte[] Bytes = new byte[BUFFER_SIZE];
int Read_Byte = 0;
while ((Read_Byte = Zip_Input_Stream.read(Bytes)) != -1) {
Buffered_Output_Stream.write(Bytes, 0, Read_Byte);
}
Buffered_Output_Stream.close();
}
public static void main(String[] args) throws IOException {
String ZipFilePath = "delftstack.zip";
String DestFilePath = "C:\\Users\\Sheeraz\\eclipse-workspace\\Demos";
unzip(ZipFilePath, DestFilePath);
System.out.println("Zip File extracted Successfully");
}
}
La sortie pour le code ci-dessus est ci-dessous.
Zip File extracted Successfully
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook