c# 高效读写文件
.NET中使用MemoryMappedFile解决内存映射问题。使用起来很方便。但是不得不说,该方法应用场景确实没有多少。或者根本不需要。c#已经提供了很多写文件的类和方法。我都感觉很重复和混乱了。
不多说,我用MemoryMappedFile写了个demo,来进行文件读写,里面封装了缓存类。都是应用的已经写好的。现在.NET平台有多个,我采用的标准版类型。查到网上说以前的mono很多方法不支持,不知道现在情况。因此还是以他们的建议,用最复杂的那个参数创建。同时把刚刚接触时,比较迷茫的参数,在代码中给于了详细注释。将读写分离了方法。
但是测试发现MemoryMappedFile在写文件时有问题,还在找方法解决。
另外封装FileStream来读写文件。经测试,视频文件2s内可以读写204M文件。也就是1s读写100M左右。但是理论上是不可以的,我也不清楚为什么。
项目地址:
https://github.com/jinyuttt/MemoryMap.git