Usage of Seven Zip in C#
2024-09-08 19:07:34
Compresss by Squid-Box.SevenZipSharp.Lite
choose x86/x64 7z dll
if (IntPtr.Size == 4)
{
SevenZipExtractor.SetLibraryPath(@"x86\7z.dll");
}
else
{
SevenZipExtractor.SetLibraryPath(@"x64\7z.dll");
}
if (IntPtr.Size == 4)
{
SevenZipCompressor.SetLibraryPath(@"x86\7z.dll");
}
else
{
SevenZipCompressor.SetLibraryPath(@"x64\7z.dll");
}
Decompression As File
using (SevenZipExtractor tmp = new SevenZipExtractor("Name.7z")))
{
for (int i = 0; i < tmp.ArchiveFileData.Count; i++)
{
tmp.ExtractFiles("Path to sotre decompression file", tmp.ArchiveFileData[i].Index);
}
}
Compress to memoryStream
SevenZipCompressor ziper = new SevenZipCompressor()
{
ArchiveFormat = OutArchiveFormat.SevenZip,
DirectoryStructure = false
};
using (MemoryStream zippedStream = new MemoryStream())
{
ziper.DefaultItemName = "DefaultItemName ";
ziper.CompressStream(InputOrginalStream, ZipedOutStream);
using (FileStream fs = new FileStream("Path to store", FileMode.Create))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
bw.Write(zippedStream.ToArray());
}
}
}
Extract file to memeory stream (nuget SevenZipExtractor)
using SevenZipExtractor;
MemoryStream outStream = new MemoryStream();
using (ArchiveFile archiveFile = new ArchiveFile("path of zipped file"))
{
foreach (Entry entry in archiveFile.Entries)
{
//Console.WriteLine(entry.FileName);
//Console.WriteLine("Extract" + outStream.Length);
entry.Extract(outStream);
}
}
最新文章
- linux安装jdk和scala
- 微信小程序-提示框
- nodejs学习篇
- [转载]基于TFS实践敏捷-实现用户场景
- 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
- 【个人使用.Net类库】(1)INI配置文件操作类
- Limit参数优化MySQL查询的方法
- Python模拟登录实战(三)
- 在C#中使用C++编写的类1
- Android权限解释
- 压缩感知重构算法之子空间追踪(SP)
- 如何快速判断一个key是否存在在亿级数据中(bloomFilters)
- python3-基础6
- C#异步方法
- C++ 窗口
- Scala思维导图
- Atitit 创业好处 Atitit 为什么我们要创业
- [UE4]不精准射击 Random Unit Vector in Cone in Radians
- python安装pip和使用pip安装Python库类比如pip安装beautifulsoup4
- JAVA ,JVM 调试