
ไฟล์ 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 ของคุณได้อย่างง่ายดาย ช่วยให้คุณจัดการข้อมูลที่บีบอัดได้อย่างราบรื่น หากคุณมีคำถามใดๆ โปรดเขียนถึงเราที่ ฟอรัม