JavaでZIPファイルを操作する方法

ZIPファイルは、データの圧縮や複数のファイルやフォルダを一つのファイルにまとめる際によく使用されます。JavaにはこのZIPファイルを操作するためのAPIが提供されており、この記事では、Javaを使用してZIPファイルを解凍および圧縮する方法を詳しく説明します。

ZIPファイルの解凍

解凍操作は一般的に以下の手順で行います。

必要なクラスのインポート

最初に、解凍操作に必要なクラスをインポートします。

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

ZIPファイル解凍メソッドの定義

public void unzip(String zipFilePath, String destDir) {
    ...
}

このメソッドでは、ZIPファイルの各エントリを読み取りながら解凍して指定されたディレクトリに保存します。

ZIPファイルの圧縮

圧縮操作も、解凍と同様に以下の手順で行います。

必要なクラスのインポート

圧縮操作に必要なクラスをインポートします。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

ZIPファイル圧縮メソッドの定義

フォルダやファイルをZIPファイルとして圧縮するメソッドを定義します。

public void zipDirectory(File sourceFolder, String outputZipFile) {
    ...
}

このメソッドは指定されたフォルダまたはファイルをZIPファイルとして圧縮します。

まとめ

JavaでZIPファイルの操作を行うには、java.util.zipパッケージを使用することで簡単に実現することができます。この記事で紹介したコードは基本的なものですので、さらに高度な操作を行いたい場合やエラーハンドリングを強化したい場合は、必要に応じてコードをカスタマイズしてください。