แตกไฟล์ RAR ใน Java

ไฟล์ RAR มักใช้ในการบีบอัดข้อมูลจำนวนมากให้เป็นไฟล์เดียวที่มีขนาดเล็กกว่า อย่างไรก็ตาม การแตกไฟล์เหล่านี้ด้วยโปรแกรมใน Java อาจเป็นเรื่องท้าทายหากไม่มีเครื่องมือที่เหมาะสม ในคู่มือนี้ เราจะแนะนำวิธีแตกไฟล์ RAR โดยใช้ Java สองวิธี วิธีหนึ่งสำหรับไฟล์ RAR ทั่วไป และอีกวิธีหนึ่งสำหรับไฟล์ RAR ที่เข้ารหัส

แตกไฟล์ RAR - การกำหนดค่า Java API

หากต้องการแตกไฟล์ rar ใน Java คุณจำเป็นต้องติดตั้ง Conholdate.Total สำหรับ Java ในขณะดาวน์โหลดไฟล์ JAR หรือเรียกใช้คำสั่ง Maven ต่อไปนี้ในไฟล์ pom.xml ของโปรเจ็กต์ของคุณ:

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

แตกไฟล์ RAR ใน Java

เมื่อแตกไฟล์ RAR ทั่วไป กระบวนการนี้เกี่ยวข้องกับการเปิดไฟล์เก็บถาวร เข้าถึงรายการแต่ละรายการ และบันทึกข้อมูลที่แตกออกมาในตำแหน่งที่ต้องการ การแยกรายละเอียดทีละขั้นตอนด้านล่างนี้จะสาธิตวิธีแตกรายการไฟล์แรกจากไฟล์เก็บถาวร RAR และบันทึกลงในไฟล์ วิธีนี้มีประโยชน์สำหรับการจัดการไฟล์เก็บถาวร RAR มาตรฐาน

  • โหลดไฟล์ RAR ต้นฉบับโดยใช้คลาส RarArchive

  • แตกไฟล์เก็บถาวรจากไฟล์ต้นฉบับ

  • ส่งออกไฟล์เก็บถาวรที่แยกออกมาไปยังดิสก์

ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีจัดการการอ่านและการเขียนไฟล์โดยใช้สตรีม โดยรับรองว่าแต่ละรายการจะถูกแยกออกอย่างถูกต้องเป็นส่วนเล็กๆ เพื่อหลีกเลี่ยงการโอเวอร์โหลดของหน่วยความจำ โดยเฉพาะอย่างยิ่งเมื่อทำงานกับไฟล์ขนาดใหญ่

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);
}

นอกจากนี้ คุณยังสามารถปรับปรุงชิ้นส่วนโค้ดนี้ให้ทำซ้ำผ่านแต่ละรายการและส่งออกไปยังไฟล์ที่เกี่ยวข้องทีละรายการตามความต้องการของคุณ

แยกไฟล์ RAR ที่เข้ารหัสใน Java

เมื่อต้องจัดการกับไฟล์ RAR ที่ป้องกันด้วยรหัสผ่านหรือเข้ารหัส กระบวนการแยกไฟล์จะแตกต่างกันเล็กน้อย คุณต้องระบุรหัสผ่านที่ถูกต้องจึงจะแยกไฟล์ได้สำเร็จ ขั้นตอนต่อไปนี้เป็นการสรุปกระบวนการแยกไฟล์ RAR ที่เข้ารหัสและป้องกันด้วยรหัสผ่านใน Java:

  • ไฟล์ RAR เข้ารหัสอินพุตถูกโหลดด้วยคลาส RarArchive

  • ต้องระบุรหัสผ่านที่ถูกต้องเพื่อแยกรายการไฟล์แรก

  • ข้อมูลที่แยกออกมาจะถูกบันทึกด้วยชื่อไฟล์ที่ระบุ

ตัวอย่างโค้ดต่อไปนี้สาธิตการแยกไฟล์ RAR ที่เข้ารหัสและป้องกันด้วยรหัสผ่านโดยใช้ Java:

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);
}

ใบอนุญาตประเมินผลฟรี

คุณสามารถร้องขอ ใบอนุญาตชั่วคราวฟรี เพื่อประเมินคุณสมบัติการบีบอัดข้อมูลและการจัดการ Marchive นี้และข้อมูลอื่น ๆ โดยไม่มีข้อจำกัดในการประเมินใดๆ

สรุป

การแตกไฟล์ RAR ใน Java ไม่ว่าจะเป็นไฟล์มาตรฐานหรือไฟล์ที่เข้ารหัส เป็นงานง่ายๆ ด้วยวิธีนี้ วิธีนี้ให้วิธีการที่มีประสิทธิภาพและยืดหยุ่นในการจัดการไฟล์เก็บถาวร RAR ต่างๆ รวมถึงไฟล์ที่ป้องกันด้วยรหัสผ่าน คุณสามารถรวมฟังก์ชันการแตกไฟล์ RAR เข้ากับแอปพลิเคชัน Java ของคุณได้อย่างง่ายดาย ช่วยให้คุณจัดการข้อมูลที่บีบอัดได้อย่างราบรื่น หากคุณมีคำถามใดๆ โปรดเขียนถึงเราที่ ฟอรัม

ดูเพิ่มเติม