はじめに
C#でtar.gzでファイル圧縮します。
目次
Chapter1
軽く調べたところSharpZipLibが良さそう
https://github.com/icsharpcode/SharpZipLib
Chapter2
ファイル名.拡張子
public void CreateTarGz(string outputTarFilePath, List<string> targetFilePathList)
{
using (FileStream fileStrem= new FileStream(outputTarFilePath, FileMode.Create, FileAccess.Write, FileShare.None))
using (GZipOutputStream gzipStream = new GZipOutputStream(fileStrem))
{
// 圧縮率を指定
// 1が一番早くて底圧縮、9が一番遅くて高圧縮
gzipStream.SetLevel(1);
using (TarArchive tarArchive = TarArchive.CreateOutputTarArchive(gzipStream))
{
try
{
foreach(var targetFilePath in targetFilePathList)
{
var tarEntry = TarEntry.CreateEntryFromFile(targetFilePath);
tarEntry.Name = Path.GetFileName(targetFilePath);
tarArchive.WriteEntry(tarEntry, false);
}
}
catch (Exception ex)
{
}
}
}
}