HOWTO · Java
Java에서 파일 압축 풀기
이 튜토리얼은 Java에서 zip 파일을 추출하는 방법을 보여줍니다.
Java에 내장된 Zip API를 사용하여 zip 파일을 추출할 수 있습니다. 이 튜토리얼은 Java에서 zip 파일을 추출하는 방법을 보여줍니다.
Java에서 파일 압축 풀기
java.util.zip은 Java에서 zip 파일의 압축을 푸는 데 사용됩니다. ZipInputStream은 zip 파일을 읽고 압축을 푸는 데 사용되는 기본 클래스입니다.
Java에서 zip 파일을 추출하려면 아래 단계를 따르십시오.
-
ZipInputStream및FileInputStream을 사용하여 zip 파일을 읽습니다. -
getNextEntry()메소드를 사용하여 항목을 읽습니다. -
이제 바이트와 함께
read()메서드를 사용하여 이진 데이터를 읽습니다. -
closeEntry()메소드를 사용하여 항목을 닫습니다. -
마지막으로 zip 파일을 닫습니다.
입력 및 대상 경로를 취하고 이러한 단계를 구현하기 위해 파일을 추출하는 함수를 만들었습니다. zip 파일은 아래에 있습니다.
위의 방법을 Java로 구현하여 그림과 같은 zip 파일을 추출해 봅시다.
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");
}
}
위 코드의 출력은 아래와 같습니다.
Zip File extracted Successfully