Java에서 RAR 추출

RAR 파일은 일반적으로 대량의 데이터를 단일의 더 작은 파일에 압축하는 데 사용됩니다. 그러나 적절한 도구 없이 Java에서 이러한 파일을 프로그래밍 방식으로 추출하는 것은 어려울 수 있습니다. 이 가이드에서는 Java를 사용하여 RAR 파일을 추출하는 두 가지 방법을 살펴보겠습니다. 하나는 일반 RAR 파일용이고 다른 하나는 암호화된 RAR 파일용입니다.

RAR 파일 추출 - Java API 구성

Java에서 파일을 압축 해제하려면 JAR 파일을 다운로드하는 동안 Conholdate.Total for Java를 설치하거나 프로젝트의 pom.xml 파일에서 다음 Maven 명령을 실행해야 합니다.

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>

Java에서 RAR 파일 추출

일반 RAR 파일을 추출할 때 프로세스에는 아카이브를 열고, 개별 항목에 액세스하고, 추출된 데이터를 원하는 위치에 저장하는 것이 포함됩니다. 아래의 단계별 분석은 RAR 아카이브에서 첫 번째 파일 항목을 추출하여 파일에 저장하는 방법을 보여줍니다. 이 방법은 표준 RAR 아카이브를 처리하는 데 유용합니다.

  • RarArchive 클래스를 사용하여 소스 RAR 아카이브를 로드합니다.

  • 소스 파일에서 아카이브를 추출합니다.

  • 추출된 아카이브를 디스크로 내보냅니다.

다음 코드 조각은 스트림을 사용하여 파일 읽기 및 쓰기를 처리하는 방법을 보여주며, 특히 대용량 파일을 작업할 때 메모리 과부하를 피하기 위해 각 항목을 작은 청크로 올바르게 추출합니다.

try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive("archive.rar")) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        try (InputStream source = archive.getEntries().get(0).open()) {
            byte[] b = new byte[1024];
            int bytesRead;
            while (0 < (bytesRead = source.read(b, 0, b.length))) {
                destination.write(b, 0, bytesRead);
            }
        }
    }
} catch (IOException ex) {
    System.out.println(ex);
}

게다가, 요구 사항에 맞게 각 항목을 반복하고 해당 파일에 하나씩 내보내는 방식으로 이 코드 조각을 더욱 향상시킬 수 있습니다.

Java에서 암호화된 RAR 파일 추출

암호로 보호되거나 암호화된 RAR 파일을 다룰 때 추출 프로세스는 약간 다릅니다. 파일을 성공적으로 추출하려면 올바른 암호를 제공해야 합니다. 다음 단계는 Java에서 암호화되고 암호로 보호된 RAR 파일을 추출하는 프로세스를 요약한 것입니다.

  • 입력된 암호화된 RAR 파일은 RarArchive 클래스로 로드됩니다.

  • 첫 번째 파일 항목을 추출하려면 올바른 비밀번호가 제공됩니다.

  • 추출된 데이터는 지정된 파일 이름으로 저장됩니다.

다음 코드 샘플은 Java를 사용하여 암호화되고 암호로 보호된 RAR을 추출하는 방법을 보여줍니다.

File fi = new File("encrypted.rar");
try (com.aspose.zip.RarArchive archive = new com.aspose.zip.RarArchive(Files.newInputStream(fi.toPath()))) {
    try (FileOutputStream destination = new FileOutputStream(dataDir + "firstEntry.txt")) {
        archive.getEntries().get(0).extract(destination, "p@s$w0rd");
    }
} catch (IOException ex) {
    System.out.println(ex);
}

무료 평가 라이센스

이 기능과 기타 데이터 압축 및 행진 조작 기능을 평가 제한 없이 평가하려면 무료 임시 라이선스를 요청할 수 있습니다.

요약

이 접근 방식을 사용하면 표준이든 암호화된 것이든 Java에서 RAR 파일을 추출하는 것이 간단한 작업입니다. 암호로 보호된 것을 포함하여 다양한 RAR 아카이브를 처리하는 효율적이고 유연한 방법을 제공합니다. RAR 추출 기능을 Java 애플리케이션에 쉽게 통합하여 압축된 데이터를 원활하게 관리할 수 있습니다. 질문이 있으면 forum으로 편지를 보내주세요.

또한 참조