概要
Visual Studio で作成したプロジェクトに外部ライブラリを追加する方法を説明します。
今回はファイルの圧縮・展開を行う SharpCompress を追加します。
https://github.com/adamhathcock/sharpcompress
手順
ツール > NuGet パッケージ マネージャー > ソリューションの NuGet パッケージの管理
1. 参照タブをクリック
2. sharpcompress で検索
3. SharpCompress をクリック
4. 追加したいプロジェクトにチェック
5. インストールをクリック
サンプル
マイドキュメントの archivetest フォルダ配下のファイルを圧縮して archivetest.zip ファイルを作成します。
再度このファイルを archivetest2 フォルダ配下に展開します。
using SharpCompress.Archives;
using SharpCompress.Common;
using SharpCompress.Writers;
namespace ArchiveTest2
{
/// <summary>
/// SharpCompress のテスト
/// 2022/11/13 matsushima
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
string baseDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); // マイドキュメント
string srcDir = baseDir + @"\archivetest"; // 圧縮したいファイルのあるフォルダ
string dstFile = baseDir + @"\archivetest.zip"; // 圧縮ファイル名
string dstDir = baseDir + @"\archivetest2"; // 展開先フォルダ
// 圧縮
using (var archive = ArchiveFactory.Create(ArchiveType.Zip))
{
// 配下のファイルを追加
foreach (var entry in new DirectoryInfo(srcDir).EnumerateFiles("*", SearchOption.AllDirectories))
{
archive.AddEntry(entry.Name, entry);
}
// アーカイブファイルを作成
using (var stream = File.Create(dstFile))
{
archive.SaveTo(stream, new WriterOptions(CompressionType.Deflate));
}
}
// 展開
Directory.CreateDirectory(dstDir);
using (var archive = ArchiveFactory.Open(dstFile))
{
archive.WriteToDirectory(dstDir);
}
}
}
}
コメント