VB.NET Zipファイルの圧縮/解凍のサンプル

VB.NETのZipファイルの圧縮と解凍(展開)のサンプルです。

確認環境
・Microsoft Visual Studio Community 2019

目次

サンプル zipファイルに圧縮する(ZipFileクラス)
  zipファイルを解凍する(ZipFileクラス)

zipファイルに圧縮する(ZipFileクラス)

指定したフォルダ配下にあるファイルすべてをzip化するサンプルです。

Imports System.IO.Compression

Module Module1
    Sub Main()
        Dim startPath As String = "D:\ZipTest1"
        Dim zipPath As String = "D:\test1\テスト.zip"

        ZipFile.CreateFromDirectory(startPath,
                                    zipPath,
                                    CompressionLevel.Optimal,
                                    False,
                                    System.Text.Encoding.GetEncoding("Shift_JIS"))
    End Sub
End Module

1行目は、System.IO.Compressionをインポートしています。必須です。

5行目は、zip化対象のフォルダで中にファイルがあるとします。ファイルは複数可です。
6行目は、zip化後のパスとファイル名です。
8行目は、ZipFileクラスのCreateFromDirectoryメソッドでzipを作成しています。

10行目は、圧縮のオプションです。Optimalは圧縮サイズを重視します。Fastestは速度を重視します。
https://docs.microsoft.com/ja-jp/dotnet/api/system.io.compression.compressionlevel?view=netframework-4.8

11行目は、Falseにすると解凍後のフォルダ名は6行目のファイル名のテストです。Trueにすると5行目のZipTest1になります。
12行目は、解凍後のファイル名の文字コードの指定です。

zipファイルを解凍する(ZipFileクラス)

zipファイルを指定したフォルダ配下に解凍するサンプルです。

Imports System.IO.Compression

Module Module1
    Sub Main()
        Dim zipPath As String = "D:\test1\テスト.zip"
        Dim extractPath As String = "D:\ZipTest1"

        ZipFile.ExtractToDirectory(zipPath, extractPath)
    End Sub
End Module

1行目は、System.IO.Compressionをインポートしています。必須です。

5行目は、zipファイルで中にファイルがあるとします。
6行目は、zip解凍後のパスです。
8行目は、ZipFileクラスのExtractToDirectoryメソッドでzipファイルを解凍しています。

解凍後のファイルサイズとファイル名に注意します。必要であればチェックを行います。

関連の記事

VB.NET ファイル操作のサンプル(存在/移動/削除他)
VB.NET フォルダの作成/削除等のサンプル

△上に戻る