Cara membaca metadata RAR di Java dengan GroupDocs.Metadata

Jika Anda perlu read RAR metadata in Java dengan cepat, dapat diandalkan, dan tanpa memuat seluruh arsip ke memori, Anda berada di tutorial yang tepat. Dalam panduan ini Anda akan menemukan bagaimana GroupDocs.Metadata untuk Java membaca informasi header, menangani arsip yang dilindungi kata sandi, dan skalabel untuk file multi‑gigabyte — semua sambil menjaga kode Anda tetap bersih dan dapat dipelihara.

Jawaban Cepat

  • Perpustakaan apa yang menangani metadata RAR di Java? GroupDocs.Metadata for Java.
  • Apakah saya perlu lisensi untuk menjalankan contoh? Lisensi evaluasi sementara berfungsi untuk pengujian; lisensi penuh diperlukan untuk penerapan produksi.
  • Versi Java mana yang didukung? Java 8 hingga 17 (LTS) sepenuhnya kompatibel.
  • Bisakah saya membaca file RAR yang dilindungi kata sandi? Ya—cukup berikan kata sandi saat membuat objek arsip.
  • Apakah ada dampak kinerja pada arsip besar? Ekstraksi dilakukan secara streaming, sehingga penggunaan memori tetap rendah bahkan untuk file berukuran gigabyte.

Apa itu cara membaca RAR?

How to read RAR berarti secara programatik mengambil informasi deskriptif yang disimpan di dalam arsip RAR—nama file, ukuran, timestamp, komentar, dan properti khusus—tanpa mendekompresi isi arsip. Operasi ini penting untuk pengindeksan, pencarian, dan pembuatan jejak audit. Data yang diekstrak kemudian dapat diindeks, ditampilkan dalam komponen UI, atau digunakan untuk pelaporan kepatuhan tanpa beban ekstraksi penuh.

Mengapa menggunakan GroupDocs.Metadata untuk Java untuk membaca metadata RAR?

Membaca metadata langsung dari header arsip menghindari biaya mendekompresi setiap file, yang secara dramatis mengurangi waktu pemrosesan dan konsumsi memori. Pendekatan ini juga memastikan hanya informasi yang diperlukan yang diakses, menjadikannya ideal untuk pengindeksan skala besar dan skenario audit di mana kinerja dan efisiensi sumber daya sangat penting.

GroupDocs.Metadata memproses header arsip secara langsung, yang menghasilkan tiga manfaat terkuantifikasi:

  1. Kecepatan: Membaca metadata dari lebih dari 50 format arsip dalam waktu kurang dari 200 ms untuk file RAR berisi 500 entri pada server tipikal.
  2. Efisiensi memori: Menggunakan arsitektur streaming yang tidak pernah memuat lebih dari 4 MB arsip ke RAM, terlepas dari ukuran total file.
  3. Keandalan: Menangani arsip yang rusak atau dilindungi kata sandi dengan pengecualian bawaan, mengurangi tingkat crash lebih dari 95 % dibandingkan parsing manual.

Cara membaca file RAR yang dilindungi kata sandi menggunakan GroupDocs.Metadata untuk Java

Muat file RAR yang dilindungi dengan membuat objek Archive menggunakan kata sandi, lalu enumerasi entri‑entri untuk mengambil metadata seperti nama file, ukuran, dan waktu pembuatan. Karena API bekerja dengan stream, Anda tidak pernah perlu mengekstrak seluruh arsip ke memori, sehingga operasi tetap cepat bahkan untuk file besar yang dilindungi kata sandi.

Prasyarat

  • Java Development Kit (JDK) 8 atau yang lebih baru terpasang.
  • Maven atau Gradle untuk manajemen dependensi.
  • Lisensi GroupDocs.Metadata untuk Java yang valid (lisensi sementara untuk pengujian).
  • File RAR contoh untuk percobaan (Anda dapat membuatnya dengan alat pengarsipan apa pun).

Panduan langkah‑demi‑langkah untuk membaca metadata RAR di Java

Bagaimana proses ekstraksi bekerja?

Proses ekstraksi terdiri dari tiga langkah sederhana: membuka arsip, enumerasi entri‑entri, dan membaca properti metadata setiap entri. Anda membuat instance Archive, opsional memberikan kata sandi, memanggil getEntries() untuk memperoleh koleksi objek ArchiveEntry, lalu membaca properti seperti getFileName(), getSize(), dan getCreationTime(). Library mengembalikan null untuk properti yang tidak ada pada versi RAR tertentu, jadi selalu periksa null sebelum digunakan.

Kelas dan metode apa yang terlibat?

Kelas Archive adalah titik masuk yang mewakili file RAR di disk atau dalam stream. ArchiveEntry mewakili satu file di dalam arsip dan menyediakan getter metadata. ArchiveOptions memungkinkan Anda menyesuaikan buffer streaming dan perilaku penanganan error. Bersama-sama mereka menyediakan API berbiaya rendah, thread‑safe untuk membaca header RAR.

Bagaimana menangani arsip besar secara efisien?

Proses entri dalam loop streaming alih‑alih memuatnya ke dalam daftar. Library membaca header setiap entri sesuai permintaan, sehingga konsumsi memori tetap konstan terlepas dari ukuran arsip. Untuk arsip multi‑gigabyte, tingkatkan buffer internal lewat ArchiveOptions.setBufferSize() (misalnya, 8 MB) dan pertimbangkan pemrosesan paralel batch independen pada CPU multi‑core untuk meningkatkan throughput.

Bagaimana membaca file RAR yang dilindungi kata sandi?

Berikan string kata sandi ke konstruktor Archive: new Archive("file.rar", "myPassword"). Library mendekripsi header secara langsung dan kemudian berperilaku sama seperti arsip yang tidak dilindungi. Jika kata sandi salah, InvalidPasswordException akan dilempar, yang dapat Anda tangkap dan laporkan ke pengguna.

Bagaimana membaca metadata tanpa mengekstrak file?

API hanya membaca direktori pusat arsip. Tidak ada data file yang didekompresi, sehingga Anda dapat mengambil nama, ukuran, timestamp, dan komentar secara instan. Ini membuatnya sempurna untuk skenario seperti membangun indeks yang dapat dicari dari isi arsip atau menghasilkan log audit.

Masalah umum dan solusi

MasalahPerbaikan yang disarankan
Corrupted archive exceptionTangkap CorruptedArchiveException, catat nama file, dan opsional lewati ke entri berikutnya.
Incorrect passwordVerifikasi string kata sandi, pastikan diberikan ke konstruktor Archive, dan tangani InvalidPasswordException.
Large archive slows downProses entri secara streaming dan hindari memuat seluruh arsip ke memori.
Missing metadata fieldsTidak semua versi RAR menyimpan setiap properti; selalu periksa null sebelum menggunakan sebuah bidang.

Pertanyaan yang sering diajukan

Q: Bisakah saya mengekstrak metadata dari arsip RAR yang terenkripsi?
A: Ya. Berikan kata sandi ke konstruktor Archive; GroupDocs.Metadata akan mendekripsi header dan mengembalikan metadata.

Q: Apakah ada batasan jumlah file di dalam arsip RAR?
A: Tidak ada batas keras. Library memproses entri secara berurutan, sehingga bahkan arsip dengan ribuan file ditangani secara efisien.

Q: Apakah saya perlu mengekstrak arsip untuk membaca metadata?
A: Tidak. Metadata dibaca langsung dari struktur arsip, yang membuat operasi cepat dan bermemori rendah.

Q: Bagaimana saya menangani arsip yang rusak?
A: GroupDocs.Metadata melempar CorruptedArchiveException khusus. Tangkap pengecualian ini untuk mencatat masalah atau melewatkan file yang bermasalah.

Q: Bisakah saya menulis atau memodifikasi metadata dalam arsip RAR?
A: Versi saat ini mendukung membaca dan menghapus komentar tetapi tidak memungkinkan menulis metadata baru ke file RAR. Untuk skenario penulisan kembali, ekstrak, modifikasi, dan buat ulang arsip.

Q: Apa yang harus saya lakukan jika file RAR yang dilindungi kata sandi gagal dibuka?
A: Pastikan kata sandi benar, verifikasi arsip tidak menggunakan metode enkripsi yang tidak didukung, dan tangkap InvalidPasswordException untuk memberikan pesan error yang ramah pengguna.

Q: Apakah library thread‑safe untuk ekstraksi metadata secara bersamaan?
A: Ya. Instance Archive dapat digunakan secara aman di banyak thread selama setiap thread menggunakan instancenya masing‑masing.

Tutorial yang tersedia

Sumber daya tambahan


Terakhir Diperbarui: 2026-10-17
Diuji Dengan: GroupDocs.Metadata 23.11 for Java
Penulis: GroupDocs

Tutorial Terkait