我想在没有安装 7zip 的情况下解压 .7z-Files
I want to decompress .7z-Files without having 7zip installed
我想解压缩从 Web 服务器下载的 .7z 文件。我已经搜索了一个解决方案,但我只找到了我必须安装 7zip 的地方。
有解压这个文件的简单方法吗?
我已经有一个 "foreach" 循环遍历包含文件名的列表中的项目。
我个人对 SevenZipSharp 库有很好的体验。
https://sevenzipsharp.codeplex.com/
提取/解压代码示例:
using (var tmp = new SevenZipExtractor(@"d:\Tempz465_extra.7z"))
{
for (int i = 0; i < tmp.ArchiveFileData.Count; i++)
{
tmp.ExtractFiles(@"d:\Temp\Result\", tmp.ArchiveFileData[i].Index);
}
}
只需将 7zip 中的所需 dll 和此库放入您的程序文件夹中,即可开始使用。因此,您不需要明确安装 7zip,您只需要库。
我刚刚尝试了新的 SharpCompress,如果您不关心文件类型(例如,它可以是 7z/zip/rar),我发现它很棒。
using (var archive = ArchiveFactory.Open(compressedFile))
{
foreach (var entry in archive.Entries)
{
if (!entry.IsDirectory)
entry.WriteToDirectory(@"C:\Temp", new ExtractionOptions() { ExtractFullPath = true, Overwrite = true });
}
}
用.Net core 2.2解压.7z文件
从 nuget 下载 SharpCompress(0.23.0)。
static void SharpCompressEx(string sevenZPath)
{
using (Stream stream = File.OpenRead(sevenZPath))
{
using (var archive = ArchiveFactory.Open(stream))
{
foreach (var entry in archive.Entries)
{
if (!entry.IsDirectory)
entry.WriteToDirectory(@"C:\Temp", new ExtractionOptions() { ExtractFullPath = true, Overwrite = true });
}
}
}
}
我想解压缩从 Web 服务器下载的 .7z 文件。我已经搜索了一个解决方案,但我只找到了我必须安装 7zip 的地方。
有解压这个文件的简单方法吗?
我已经有一个 "foreach" 循环遍历包含文件名的列表中的项目。
我个人对 SevenZipSharp 库有很好的体验。 https://sevenzipsharp.codeplex.com/
提取/解压代码示例:
using (var tmp = new SevenZipExtractor(@"d:\Tempz465_extra.7z"))
{
for (int i = 0; i < tmp.ArchiveFileData.Count; i++)
{
tmp.ExtractFiles(@"d:\Temp\Result\", tmp.ArchiveFileData[i].Index);
}
}
只需将 7zip 中的所需 dll 和此库放入您的程序文件夹中,即可开始使用。因此,您不需要明确安装 7zip,您只需要库。
我刚刚尝试了新的 SharpCompress,如果您不关心文件类型(例如,它可以是 7z/zip/rar),我发现它很棒。
using (var archive = ArchiveFactory.Open(compressedFile))
{
foreach (var entry in archive.Entries)
{
if (!entry.IsDirectory)
entry.WriteToDirectory(@"C:\Temp", new ExtractionOptions() { ExtractFullPath = true, Overwrite = true });
}
}
用.Net core 2.2解压.7z文件 从 nuget 下载 SharpCompress(0.23.0)。
static void SharpCompressEx(string sevenZPath)
{
using (Stream stream = File.OpenRead(sevenZPath))
{
using (var archive = ArchiveFactory.Open(stream))
{
foreach (var entry in archive.Entries)
{
if (!entry.IsDirectory)
entry.WriteToDirectory(@"C:\Temp", new ExtractionOptions() { ExtractFullPath = true, Overwrite = true });
}
}
}
}