Dateien in Java entpacken
Wir können die eingebaute Zip
-API in Java verwenden, um eine Zip-Datei zu extrahieren. Dieses Tutorial zeigt, wie Sie eine ZIP-Datei in Java extrahieren.
Dateien in Java entpacken
Das java.util.zip
dient zum Entpacken der ZIP-Dateien in Java. Der ZipInputStream
ist die Hauptklasse, die verwendet wird, um die ZIP-Dateien zu lesen und zu extrahieren.
Führen Sie die folgenden Schritte aus, um ZIP-Dateien in Java zu extrahieren.
-
Lesen Sie die ZIP-Datei mit
ZipInputStream
undFileInputStream
. -
Lesen Sie die Einträge mit der Methode
getNextEntry()
. -
Lesen Sie nun die Binärdaten mit der Methode
read()
mit Bytes. -
Schließen Sie den Eintrag mit der Methode
closeEntry()
. -
Abschließend die ZIP-Datei schließen.
Wir haben eine Funktion erstellt, um den Eingabe- und Zielpfad zu nehmen und die Dateien zu extrahieren, um diese Schritte zu implementieren. Die ZIP-Datei ist unten.
Lassen Sie uns die obige Methode in Java implementieren, um die im Bild gezeigte ZIP-Datei zu extrahieren.
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");
}
}
Die Ausgabe für den obigen Code ist unten.
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