我有一个字节数组,我想将字节数组读入FileStream.以下是我的代码示例:
string fileName = "test.txt"; byte[] file = File.ReadAllBytes(Server.MapPath("~/Files/" + fileName)); FileStream fs = new FileStream(); fs.ReadByte(file); object obj = LoadFile<object>(fs); public static T LoadFile<T>(FileStream fs) { using (GZipStream gzip = new GZipStream(fs,CompressionMode.Decompress)) { BinaryFormatter bf = new BinaryFormatter(); return (T)bf.Deserialize(gzip); } }
在上面的方法中,我使用FileStream来读取字节数组,但不幸的是fs.ReadByte无法读取字节数组.任何帮助请关注如何将字节数组读入FileStream以用作方法“LoadFile”中的参数.请不要直接将文件读入FileStream,因为此处的文件是从数据库或其他来源的其他地方加载的.
解决方法
string fileName = "test.txt"; byte[] file = File.ReadAllBytes(Server.MapPath("~/Files/" + fileName)); MemoryStream memStream = new MemoryStream(); BinaryFormatter binForm = new BinaryFormatter(); memStream.Write(file,file.Length); memStream.Seek(0,SeekOrigin.Begin); Object obj = (Object)binForm.Deserialize(memStream);