紧急SOS~如何写二进制文件?

crackzzy 2003-08-24 05:59:01
我有一个类被序列化了
MemoryStream ms=new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms,mapinfo);
现在ms里存放的就是序列化好的二进制流。
请问我要怎么样把它写到一个二进制文件里呢?
如果可以的话请顺便给出把二进制文件读到一个MemoryStream里的代码~
我对文件操作这一块还不太熟悉,请尽可能给出详细代码,谢谢~~
...全文
127 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
crackzzy 2003-08-24
  • 打赏
  • 举报
回复
原来如此,不过看来我得好好补一下E文了,你上面的那个单词underlying我琢磨了半天不懂是什么意思,晕~~~~~~~~。
后来在金山词霸+SDK的帮助下才大概了解。哎~~高中没好好学英语,惭愧啊~~
帖子先放两天,过两天一起结了吧~
saucer 2003-08-24
  • 打赏
  • 举报
回复
mostly same, but ToArray() returns a copy while GetBuffer returns the underlying byte array
crackzzy 2003-08-24
  • 打赏
  • 举报
回复
谢谢思归,关于读写二进制文件的问题已经解决了。
不过我这里还有一个小疑问。
你在上面有一句
byte[] blist=ms.ToArray();
这条语句是把MemoryStream对象转换成字节数组吧。
可是我在SDK上还看到MemoryStream对象有另一个方法GetBuffer。
请问思归这个ToArray方法和GetBuffer方法有什么差别?
感觉起来好象都差不多,都是根据一个MemoryStream对象返回一个字节数组。
但是我想既然。NET提供了这两个方法一定是有原因的,还请思归帮我解释一下我今天第三个问题内的小问题,呵呵~~~(和你一样,通宵写了一夜程序~)
saucer 2003-08-24
  • 打赏
  • 举报
回复
use System.IO.FileStream

byte[] blist = ms.ToArray();
FileStream myFileStream = new FileStream( Server.MapPath("log.dat"), FileMode.OpenOrCreate, FileAccess.Write );
myFileStream.Write(blist,0,blist.Length );


but you can directly write into a file

BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(myFileStream,mapinfo);

do the similar
FileStream myFileStream = new FileStream( Server.MapPath("log.dat"), FileMode.Open, FileAccess.Read );
BinaryFormatter bf = new BinaryFormatter();
object o = bf.Deserialize(myFileStream);

代码下载链接: https://pan.quark.cn/s/90fbf78c3289 "1元云购"是一种依托互联网的购物方式,用户仅需投入微小的资金(一般为一元)便有机会赢取高价值商品。此类模式常借助抽奖机制来判定获胜者,从而吸引众多用户加入。"1元云购源代码"是承载该业务流程的程序代码,其用途在于搭建一个完整的1元云购系统。 在构建1元云购源代码的过程中,主要包含以下几个核心技术要点: 1. **数据库架构**:为了有效存储商品详情、用户资料、交易历史及开奖结果,必须设计科学合理的数据库框架。这包括商品数据表、用户信息表、订单记录表和开奖记录表等,确保数据的统一性与完整性。 2. **支付渠道对接**:1元云购平台需与第三方支付服务(例如支付宝、微信支付)进行对接,以实现用户的在线支付操作。这涉及API接口调用、交易状态同步、退款流程管理等环节。 3. **随机数生成策略**:抽奖过程的核心在于公平透明地选定获奖者,通常采用随机数生成策略来实现。该策略需保障每位参与者拥有相等的获奖机会,同时防止欺诈行为。 4. **用户界面开发**:卓越的用户体验是吸引参与者的关键因素。前端页面应兼具视觉吸引力与操作便捷性,清晰展示商品信息、购买步骤、中奖规范等,并提供用户注册、登录、查询订单等功能。 5. **服务器程序设计**:后端系统负责处理用户请求,如管理订单、计算中奖号码、更新数据库信息等。这部分通常采用PHP等服务器端技术实现,需应对并发访问与高负载情形。 6. **安全措施**:1元云购平台可能面临恶意攻击,例如SQL注入、XSS跨站脚本攻击等。因此,源代码需遵循安全编程准则,对用户输入进行过滤与校验,同时运用HTTPS等加密手段保障数据传输安全。 7. **...

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧