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);
}
}

最新文章

  1. linux安装jdk和scala
  2. 微信小程序-提示框
  3. nodejs学习篇
  4. [转载]基于TFS实践敏捷-实现用户场景
  5. 【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
  6. 【个人使用.Net类库】(1)INI配置文件操作类
  7. Limit参数优化MySQL查询的方法
  8. Python模拟登录实战(三)
  9. 在C#中使用C++编写的类1
  10. Android权限解释
  11. 压缩感知重构算法之子空间追踪(SP)
  12. 如何快速判断一个key是否存在在亿级数据中(bloomFilters)
  13. python3-基础6
  14. C#异步方法
  15. C++ 窗口
  16. Scala思维导图
  17. Atitit 创业好处 Atitit 为什么我们要创业
  18. [UE4]不精准射击 Random Unit Vector in Cone in Radians
  19. python安装pip和使用pip安装Python库类比如pip安装beautifulsoup4
  20. JAVA ,JVM 调试

热门文章

  1. 【随笔记】MFC 解决按下 ESC、Enter 键会自动退出的问题
  2. 鸣人的影分身(等级考试4级 2021-03 T3)
  3. NodeJS 实战系列:DevOps 尚未解决的问题
  4. JAVA虚拟机14 类加载器
  5. vue + element-ui + qrcodejs2 实现二维码生成
  6. 2021级《JAVA语言程序设计》上机考试试题7
  7. Spring(IOC自动装配-基于注解开发)
  8. 快学会这个技能-.NET API拦截技法
  9. jmeter常见错误(持续更新)
  10. 大曝光!从RabbitMQ平滑迁移至Kafka架构设计方案!