ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
ファイルエントリの圧縮およびアーカイブユーティリティの分野では、7-Zipが多用途でオープンソースのソリューションとして際立っています。 高い圧縮率とさまざまなアーカイブ形式のサポートで知られるSevenZipは、効率的なファイル管理を求めるユーザーにとって人気の選択肢となっています。 この記事では、7-Zipとは何か、その仕組み、主な機能、独自の7z形式、圧縮率、および 7zアーカイブの作成 に役立つC#向けの.NET SDKについて探ります。 さらに、.NETエコシステムの代替ソリューションとしてIronZIPを導入します。
SevenZip または 7-Zipは、ユーザーがファイルを圧縮および解凍できる無料かつオープンソースのファイルアーカイブユーティリティです。 イゴール・パヴロフによって開発された7-Zipは、幅広い圧縮形式をサポートしており、データの管理と整理に多用途に使用できるツールです。
7-Zipは、ファイルやフォルダーのサイズを削減するために、先進的な圧縮アルゴリズムを利用しています。 LZMA 圧縮アルゴリズムを採用しています。(レムペル-ジヴ-マルコフチェイン・アルゴリズム)ネイティブの7z形式の圧縮アルゴリズムにより、優れた圧縮率を実現しています。 そのユーティリティは、ZIP、TAR、およびGZIPなどの一般的な形式もサポートしています。
7z形式は7-Zipがアーカイブに使用する専用形式です。 それは、優れた圧縮比で知られるLZMA圧縮アルゴリズムを採用しています。 7z形式は、連結圧縮、ファイル分割、自己解凍アーカイブなどの機能をサポートしています。
7-Zipは、特にLZMAアルゴリズムを使用した7z形式での優れた圧縮率で有名です。 この効率により、圧縮ファイルの完全性を損なうことなく、アーカイブサイズを小さくすることができます。 7-Zipで作成されたファイルは、通常のZIP形式よりも30〜70%圧縮されます。
C#で開発を行っている開発者向けに、7-Zipはカスタムアプリケーションに7-Zip機能をシームレスに統合することを可能にする.NET SDKを提供しています。 このSDKは、開発者が圧縮および解凍操作をプログラムにより実行できるようにし、C#プロジェクト内でアーカイブされたファイルを柔軟に管理することができます。
C#アプリケーションで7-Zipを使用したい場合、7-Zip SDKを利用するか、C#コード内でコマンドライン実行可能ファイルを利用することができます。 以下は、両方のアプローチの簡単な概要です。
7-Zip SDKは、7-Zipファイル圧縮および解凍機能にアクセスするためのソフトウェア開発キットです。このSDKを使用することで、開発者は自分のアプリケーションに7-Zipの圧縮および解凍機能を簡単に統合することができます。(7z.dll)
7-Zip SDKには7z.dllライブラリが含まれており、これをC#プロジェクトで使用することができます。 このアプローチにより、プログラム上で圧縮および解凍操作を実行することができます。
以下は7-Zip SDKを使用したソースコードの例です:
using SevenZip;
class Program
{
static void Main()
{
// Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// Example: Extract files from an archive
using (var extractor = new SevenZipExtractor("archive.7z"))
{
extractor.ExtractArchive("output_directory");
}
// Example: Compress files into an archive
using (var compressor = new SevenZipCompressor())
{
// Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
}
}
}
using SevenZip;
class Program
{
static void Main()
{
// Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll");
// Create a SevenZipExtractor or SevenZipCompressor instance
// Perform compression or decompression operations as needed
// Example: Extract files from an archive
using (var extractor = new SevenZipExtractor("archive.7z"))
{
extractor.ExtractArchive("output_directory");
}
// Example: Compress files into an archive
using (var compressor = new SevenZipCompressor())
{
// Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt");
}
}
}
Imports SevenZip
Friend Class Program
Shared Sub Main()
' Specify the path to the 7z.dll library
SevenZipBase.SetLibraryPath("path_to_7z.dll")
' Create a SevenZipExtractor or SevenZipCompressor instance
' Perform compression or decompression operations as needed
' Example: Extract files from an archive
Using extractor = New SevenZipExtractor("archive.7z")
extractor.ExtractArchive("output_directory")
End Using
' Example: Compress files into an archive
Using compressor = New SevenZipCompressor()
' Add File entry in archive
compressor.CompressFiles("archive.7z", "file1.txt", "file2.txt")
End Using
End Sub
End Class
「path_to_7z.dll」を7z.dllライブラリの実際のパスに置き換えてください。 7z.dllファイルは7-Zipのインストールディレクトリにあります。
あるいは、7-Zipコマンドライン実行ファイルを使用することもできます。(7z.exe)C#のソースコード内でSystem.Diagnostics.Process
クラスを通して呼び出します。
using System.Diagnostics;
class Program
{
static void Main()
{
// Example: Extract files from an archive using the command-line executable
string archivePath = "archive.7z";
string outputPath = "output_directory";
ProcessStartInfo processStartInfo = new ProcessStartInfo
{
FileName = "7z.exe",
Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
using (Process process = new Process { StartInfo = processStartInfo })
{
process.Start();
process.WaitForExit();
}
}
}
using System.Diagnostics;
class Program
{
static void Main()
{
// Example: Extract files from an archive using the command-line executable
string archivePath = "archive.7z";
string outputPath = "output_directory";
ProcessStartInfo processStartInfo = new ProcessStartInfo
{
FileName = "7z.exe",
Arguments = $"x \"{archivePath}\" -o\"{outputPath}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true
};
using (Process process = new Process { StartInfo = processStartInfo })
{
process.Start();
process.WaitForExit();
}
}
}
Imports System.Diagnostics
Friend Class Program
Shared Sub Main()
' Example: Extract files from an archive using the command-line executable
Dim archivePath As String = "archive.7z"
Dim outputPath As String = "output_directory"
Dim processStartInfo As New ProcessStartInfo With {
.FileName = "7z.exe",
.Arguments = $"x ""{archivePath}"" -o""{outputPath}""",
.RedirectStandardOutput = True,
.UseShellExecute = False,
.CreateNoWindow = True
}
Using process As New Process With {.StartInfo = processStartInfo}
process.Start()
process.WaitForExit()
End Using
End Sub
End Class
「7z.exe」がシステムのPATHに含まれていることを確認するか、FileName
プロパティに実行ファイルへのフルパスを指定してください。
7-Zipは強力なソリューションですが、.NETエコシステム内で代替案を模索する開発者は、IronZIPが魅力的な選択肢であることに気づくかもしれません。IronZIPは、開発者がC#アプリケーション内でアーカイブを圧縮、解凍、および操作するためのツールを提供する、7-Zipに似た機能を持つ.NET圧縮ライブラリです。
IronZIPは、.NETアプリケーションでZIPファイルを扱うことを簡素化する強力なC# ZIPアーカイブライブラリです。 ユーザーフレンドリーなAPIを使用することで、開発者は効率的にIronZIPでZIPアーカイブを作成、読み込み、展開します。. 以下に「IronPDF」での使用がいかに簡単かを示すコードスニペットを紹介します:
using IronPdf;
var Renderer = new HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
PDF.SaveAs("output.pdf");
using IronPdf;
var Renderer = new HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
PDF.SaveAs("output.pdf");
Imports IronPdf
Private Renderer = New HtmlToPdf()
Private PDF = Renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>")
PDF.SaveAs("output.pdf")
これだけです。IronPDFを使えば、HTMLをPDFに変換するのはとても簡単です。IronZIPを使用してZIPアーカイブを作成する。:
using IronZip;
class Program
{
static void Main()
{
// Specify the path for the new ZIP archive
string zipFilePath = "output.zip";
// Create an empty ZIP archive
using (var archive = new IronArchive(zipFilePath))
{
// Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt");
archive.AddArchiveEntry("./assets/file2.jpg");
archive.AddArchiveEntry("./assets/file3.pdf");
}
Console.WriteLine("ZIP archive created successfully!");
}
}
using IronZip;
class Program
{
static void Main()
{
// Specify the path for the new ZIP archive
string zipFilePath = "output.zip";
// Create an empty ZIP archive
using (var archive = new IronArchive(zipFilePath))
{
// Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt");
archive.AddArchiveEntry("./assets/file2.jpg");
archive.AddArchiveEntry("./assets/file3.pdf");
}
Console.WriteLine("ZIP archive created successfully!");
}
}
Imports IronZip
Friend Class Program
Shared Sub Main()
' Specify the path for the new ZIP archive
Dim zipFilePath As String = "output.zip"
' Create an empty ZIP archive
Using archive = New IronArchive(zipFilePath)
' Add files to the ZIP
archive.AddArchiveEntry("./assets/file1.txt")
archive.AddArchiveEntry("./assets/file2.jpg")
archive.AddArchiveEntry("./assets/file3.pdf")
End Using
Console.WriteLine("ZIP archive created successfully!")
End Sub
End Class
IronZIPの機能やコード例に関する詳細情報については、以下のサイトをご覧ください。IronZIPドキュメントページ
7-Zipは、ファイル圧縮の世界で依然として支配的な存在であり、ユーザーにオープンソースで豊富な機能を持つ解決策と、卓越した圧縮率を提供しています。 その多様なアーカイブ形式のサポートと強力な暗号化機能により、カジュアルなユーザーと開発者の両方にとって多用途の選択となります。.NET SDKは、C#開発者向けにその実用性をさらに拡張し、カスタムアプリケーションへのシームレスな統合を促進します。 .NET環境で別の選択肢を探している方には、IronZIPが注目に値する候補となります。これはC#開発者の特定のニーズに合わせた同様の機能を提供します。
IronZIPは、IronZIPの無料トライアル . IronZIP .NET CoreとFrameworkライブラリは以下からダウンロードしてお試しください。IronZIPダウンロードページ.
9つの .NET API製品 オフィス文書用