Rumah > Java > javaTutorial > Memampatkan dan membongkar fail di Java

Memampatkan dan membongkar fail di Java

Barbara Streisand
Lepaskan: 2025-02-07 11:56:15
asal
722 orang telah melayarinya

Compressing and Decompressing files in Java

Artikel ini meneroka pemampatan fail dan penyahmampatan di Java, memberi tumpuan kepada kelas

dan DeflaterOutputStream untuk pemampatan deflate. Kelas ini menawarkan cara yang cekap untuk mengendalikan data termampat. InflaterInputStream

Konsep teras:

Java menyediakan sokongan terbina dalam untuk memampatkan dan membongkar fail menggunakan pakej

. java.util.zip memampatkan data ke dalam format deflate (sering digunakan dalam arkib zip), manakala DeflaterOutputStream mengurangkan data dalam format yang sama. InflaterInputStream Contohnya: memampatkan fail ke zip

Contoh ini menunjukkan cara memampatkan fail ke dalam arkib zip:

Algoritma

untuk pemampatan fail/penyahmampatan:
try {
    File file = new File(filePath);
    String zipFileName = file.getName() + ".zip";
    FileOutputStream fos = new FileOutputStream(zipFileName);
    ZipOutputStream zos = new ZipOutputStream(fos);
    zos.putNextEntry(new ZipEntry(file.getName()));
    byte[] bytes = Files.readAllBytes(Paths.get(filePath));
    zos.write(bytes, 0, bytes.length);
    zos.closeEntry();
    zos.close();
} catch (FileNotFoundException ex) {
    System.err.format("File not found: %s%n", filePath);
} catch (IOException ex) {
    System.err.println("I/O error: " + ex);
}
Salin selepas log masuk

Algoritma umum untuk pemampatan fail dan penyahmampatan di Java melibatkan langkah -langkah ini:

Inisialisasi:
    Import kelas yang diperlukan, tentukan laluan fail.
  1. Mampatan:
  2. Buat
  3. dan untuk menulis data termampat. Baca data dari fail sumber menggunakan , tulis ke FileOutputStream, dan aliran tutup. DeflaterOutputStream FileInputStream DeflaterOutputStream Decompression:
  4. Buat
  5. dan untuk membaca dan mengurih data. Tulis data decompressed ke fail destinasi menggunakan , dan aliran tutup. FileInputStream InflaterInputStream FileOutputStream Pengendalian ralat:
  6. Melaksanakan pengendalian ralat yang mantap (mis., ) Untuk menguruskan potensi
  7. . try-catch IOExceptions Contoh sintaks yang dipermudahkan:

Walaupun lengkap, contoh yang mantap memerlukan lebih banyak pengendalian ralat dan pengurusan jalur fail, coretan sintaks mudah menggambarkan operasi teras:

pemampatan:

penyahmampatan:

FileInputStream inputStream = new FileInputStream(inputPath);
FileOutputStream outputStream = new FileOutputStream(outputPath);
DeflaterOutputStream compressor = new DeflaterOutputStream(outputStream);
// ... write data from inputStream to compressor ...
compressor.close();
Salin selepas log masuk

Pendekatan:

FileInputStream inputStream = new FileInputStream(inputPath);
FileOutputStream outputStream = new FileOutputStream(outputPath);
InflaterInputStream decompressor = new InflaterInputStream(inputStream);
// ... write data from decompressor to outputStream ...
decompressor.close();
Salin selepas log masuk

Dua pendekatan utama wujud: memampatkan/menyegarkan fail tunggal dan mengendalikan pelbagai fail atau direktori. Contoh-contoh yang disediakan sebelum ini dalam teks asal menunjukkan mampatan fail tunggal menggunakan dan contoh yang lebih kompleks untuk pelbagai fail. Pengendalian direktori memerlukan pemprosesan rekursif untuk melintasi struktur direktori. Ambil perhatian bahawa contoh kod asal tidak mempunyai pengendalian laluan fail yang betul dan pengurusan ralat, yang membawa kepada . Sentiasa pastikan pengendalian ralat yang mantap dan tentukan laluan fail yang betul dalam kod anda.

ZipOutputStream Kesimpulan: FileNotFoundException

Java menawarkan alat yang berkuasa untuk pemampatan fail dan penyahmampatan. Memahami DeflaterOutputStream dan InflaterInputStream bersama -sama dengan pengendalian ralat yang betul dan pengurusan laluan fail adalah penting untuk mewujudkan utiliti mampatan yang boleh dipercayai dan cekap. Ingatlah untuk sentiasa mengendalikan pengecualian yang berpotensi dan memberikan mesej ralat yang sesuai kepada pengguna.

Atas ialah kandungan terperinci Memampatkan dan membongkar fail di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Bolehkah java digunakan sebagai bahagian belakang web?
daripada 1970-01-01 08:00:00
0
0
0
Tidak dapat memasang java
daripada 1970-01-01 08:00:00
0
0
0
Pasang JAVA
daripada 1970-01-01 08:00:00
0
0
0
Bagaimanakah php melaksanakan penyulitan sha1 java?
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan