当前位置:网站首页>dotnet 使用 lz4net 压缩 Stream 或文件
dotnet 使用 lz4net 压缩 Stream 或文件
2022-08-04 20:51:00 【林德熙】
在 dotnet 可以使用 LZ4 这个无损的压缩算法,这个压缩算法的压缩率不高但是速度很快。这个库支持在 .NET Standard 1.6 .NET Core .NET Framework Mono Xamarin 和 UWP 运行
压缩算法 LZ4 的原代码是使用 C 写的,请看代码 本文的 K4os.Compression.LZ4 是使用 C# 写的,里面也有版本使用了 C++ 代码
因为很多时候都是对 Stream 压缩,所以重点告诉大家如何进行 Stream 压缩
注意这个压缩算法不是 zip 或 rar 压缩,也就是压缩文件不能使用现在的 zip 压缩软件打开,同时压缩的内容也不是文件
使用 NuGet 安装 K4os.Compression.LZ4.Streams 很简单就可以使用 LZ4 压缩
如我需要压缩一个字符串到文件
using K4os.Compression.LZ4.Streams;
using (var stream = LZ4Stream.Encode(File.Create("1.lz4")))
{
using (var sw = new StreamWriter(stream))
{
sw.WriteLine("林德熙是逗比");
}
}这样就将字符串压缩进了文件
调用 LZ4Stream.Encode 传入 stream 对返回的 stream 写入将会压缩到传入的 stream 如上面代码
在解压缩是 LZ4Stream.Decode 方法,如解压缩上面的文件
using (var stream = new StreamReader(LZ4Stream.Decode(File.Open("1.lz4", FileMode.Open))))
{
Console.WriteLine(stream.ReadLine());
}运行代码可以发现输出逗比这就是 LZ4 简单的使用,其实复杂的使用和简单的也差不多
在 Encode 和 Decode 里面还可以传入参数,用于配置更高性能的压缩
lz4/lz4: Extremely Fast Compression algorithm
所有代码都在 github
边栏推荐
猜你喜欢

【CAS:2306109-91-9 |胺-PEG4-脱硫生物素】价格
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库

知识分享|如何设计有效的帮助中心,不妨来看看以下几点

Retrofit的使用及原理详解

How to make good use of builder mode

二叉搜索树解决硬木问题

Using Baidu EasyDL to realize forest fire early warning and identification

Web3安全风险令人生畏,应该如何应对?

Five Minutes Introductory Text Processing Three Musketeers grep awk sed

After the tester with 10 years of service "naked resignation" from the big factory...
随机推荐
刷题-洛谷-P1179 数字统计
面试官:Redis中过期的key是怎么被删除的?
长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析等领域中的应用
Nuxt.js的优缺点和注意事项
【编程思想】
[AGC] Build Service 1 - Cloud Function Example
WIN10系统如何开启终端
How to make good use of builder mode
IPV6地址
刷题-洛谷-P1317 低洼地
链队
Zero-knowledge proof - zkSNARK proof system
C#之app.config、exe.config和vshost.exe.config作用区别
【随记】新一天搬砖 --20220727
vim clear last search highlighting
链栈的应用
Oreo domain name authorization verification system v1.0.6 public open source version website source code
用 Excel 爬取网络数据的四个小案例
[Data Mining] Written Exam Questions for Sohu Data Mining Engineers
多商户商城系统功能拆解22讲-平台端分销商品