【C#】FileStream使用汇总
一、在FileStream流和byte[]中查找(搜索)指定字符串
/// <summary> /// 在当前流中搜索指定的 byte[] /// </summary> /// <param name="arr"></param> /// <param name="key">搜索关键字</param> /// <param name="beginPosition">搜索开始位置</param> /// <returns>如果存在则返回byte[]在流中首次出现的位置,否则返回 -1</returns> private static List<long> Search(FileStream stream, long beginPosition, long endPosition, byte[] key) { //FileStream stream = File.Open(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite); List<long> position = new List<long>(); if (stream == null || stream.Length <= beginPosition) { return null; } if (key == null || stream.Length < key.Length) { return null; } long i = -1; long j = -1; int currentByte = int.MinValue; //for (i = beginPosition; i < stream.Length; i++) for (i = beginPosition; i < endPosition; i++) { if (stream.Length < key.Length + i) { break; } stream.Seek(i, SeekOrigin.Begin); for (j = 0; j < key.Length; j++) { currentByte = stream.ReadByte(); if (currentByte != key[j]) { break; } } if (j == key.Length) { //return i; position.Add(i); } if (currentByte == -1) { break; } } return position; }
参考:https://blog.csdn.net/lonelyenvoy/article/details/52416529
/*******相与枕藉乎舟中,不知东方之既白*******/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!