3.7 BinaryReader和BinaryWriter

1.BinaryReader和BinaryWriter简介

2.BinaryReader和BinaryWriter示例


1.BinaryReader和BinaryWriter简介

a.BinaryWriter:.NET 基本类型(intfloatstringbyte[])写入流(FileStream、MemoryStream等),按二进制 格式存储(而非文本),体积更小、读写更快 b.BinaryReader:从流中读取由BinaryWriter写入的二进制数据,还原为对应.NET类型,需严格匹配写入顺序

2.BinaryReader和BinaryWriter示例

usingSystem;usingSystem.IO;// ==================== 写入二进制数据(BinaryWriter) ====================publicstaticvoidWriteBinaryFile(stringpath){// 1. 创建文件流(FileMode.Create:覆盖已有文件,FileAccess.Write:只写)using(FileStreamfs=newFileStream(path,FileMode.Create,FileAccess.Write)){// 2. 创建BinaryWriter,关联文件流(可选指定编码,默认UTF-8)using(BinaryWriterwriter=newBinaryWriter(fs)){// 3. 按顺序写入不同类型数据(核心:写入顺序必须和读取顺序一致)writer.Write(100);// 写入int(4字节)writer.Write(3.14f);// 写入float(4字节)writer.Write(true);// 写入bool(1字节)writer.Write("Unity存档");// 写入string(先存长度,再存字节)writer.Write(newbyte[]{0x01,0x02,0x03});// 写入字节数组}// using结束自动释放writer,关闭流}}// ==================== 读取二进制数据(BinaryReader) ====================publicstaticvoidReadBinaryFile(stringpath){if(!File.Exists(path))return;using(FileStreamfs=newFileStream(path,FileMode.Open,FileAccess.Read)){using(BinaryReaderreader=newBinaryReader(fs)){// 3. 按写入顺序读取数据(顺序错会导致数据解析错误)intintValue=reader.ReadInt32();floatfloatValue=reader.ReadSingle();boolboolValue=reader.ReadBoolean();stringstrValue=reader.ReadString();byte[]byteArr=reader.ReadBytes(3);// 读取指定长度的字节数组// 输出验证Console.WriteLine($"Int:{intValue}");// 输出:100Console.WriteLine($"Float:{floatValue}");// 输出:3.14Console.WriteLine($"Bool:{boolValue}");// 输出:TrueConsole.WriteLine($"String:{strValue}");// 输出:Unity存档Console.WriteLine($"ByteArr:{BitConverter.ToString(byteArr)}");// 01-02-03}}}// 调用示例WriteBinaryFile("saveData.bin");ReadBinaryFile("saveData.bin");
using(MemoryStreamms=newMemoryStream())using(BinaryWriterwriter=newBinaryWriter(ms)){writer.Write(123);writer.Write("内存数据");// 重置指针到起始位置,才能读取数据ms.Position=0;using(BinaryReaderreader=newBinaryReader(ms)){intnum=reader.ReadInt32();// 正确读取123stringstr=reader.ReadString();// 正确读取"内存数据"}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1164606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果宣布专业图像编辑应用Pixelmator Pro即将登陆iPad

根据苹果关于即将推出的Apple Creator Studio的新闻稿,Pixelmator Pro将为iPad用户带来桌面级的设计体验。直观的触控操作让用户能够更轻松地在iPad上创建桌面级设计作品。全功能的图层侧边栏允许创作者使用图像、形状、文本甚至视频等多种独特元素来构建设计。智能…

21D非线性检测仪深度解析:如何选择最适合您的【健康预警系统】

导语在日益关注健康的今天,选择一款精准可靠的21D非线性检测仪至关重要。面对市场上琳琅满目的健康评估工具,如何辨别其技术优势和实用价值?本文将为您深度剖析当前主流的21D检测仪,帮助您找到最符合需求的健康预警系统&#xff0…

在Ubuntu 22.04上使用GitLab和Jenkins部署CI/CD的完整过程

详细介绍在Ubuntu 22.04上使用GitLab和Jenkins部署CI/CD的完整过程。 环境准备 1. 系统初始化 # 更新系统 sudo apt update && sudo apt upgrade -y# 安装必要工具 sudo apt install -y curl wget git vim 2. 安装Docker(推荐方式) # 安装D…

谷歌云与国内云,我用亲身踩坑经历告诉你到底该怎么选

作为一名在云计算行业摸爬滚打了近十年的老运维,我几乎把所有主流的云服务商都用了个遍。从最早的自己攒服务器托管到IDC机房,再到后来全面上云,我可以说是一路踩着坑过来的。特别是最近几年,团队业务开始走向全球化,我…

领航技术股份-干接点水浸传感器

领航技术股份-干接点水浸传感器是工业与安防场景中最常用的漏液监测设备,核心特点是通过 干接点(无源开关)信号 输出报警状态,无需额外供电即可传输信号,适配各类 PLC、安防主机、动环监控系统,兼容性极强。…

什么是粗排和精排

在 RAG、推荐系统、搜索引擎等场景中,粗排(Coarse-grained Ranking) 和 精排(Fine-grained Ranking) 是一套 **“先海选、再精选”** 的两级检索排序策略,核心目的是在保证检索效率的前提下,大幅…

Google Ads花钱没单?9大常见设置错误与修复指南

在数字广告投放中,Google Ads 一直是流量变现和品牌推广的重要渠道。但对于许多广告主和运营人员来说,账户的设置问题往往比创意和预算更致命。一个看似小小的参数配置错误,就可能导致广告无法触达目标人群、预算被快速消耗,甚至账…

全国冠军代言资源平台排名

【标题】:体育冠军代言哪家好:专业深度测评,排名前五揭晓【开篇】:随着体育产业的蓬勃发展,体育冠军代言成为品牌宣传的重要手段。为了帮助消费者更好地了解市场上的冠军代言资源平台,我们特此进行了深度测…

EasyGBS算法算力平台在智慧安防视频监控中的应用实践

在数字化、智能化浪潮席卷全球的今天,传统安防体系正经历着深刻的变革。随着GB28181国家标准的全面推广和实施,视频监控系统的标准化、网络化、智能化已成为智慧安防建设的必然要求。EasyGBS作为GB28181的算法算力平台,不仅解决了海量视频资源…

大模型强化学习训练全攻略:从RLHF到RLVR,算法、框架与性能优化详解

文章解析了大模型从预训练到后训练的转变,重点介绍强化学习(RL)在大模型中的应用。详细阐述了SFT、RLHF和RLVR三大训练阶段,PPO和GRPO等核心算法,以及RL训练面临的基础设施挑战,特别是混合负载问题。同时介绍了字节跳动的verl框架…

领航技术股份-水浸传感器哪家好

领航技术股份-选水浸传感器,家用看智能联动与性价比,工业级看稳定性、干接点 / 通讯适配及场景防护,以下是分场景的优质品牌与选型建议,兼顾国产与进口,覆盖主流需求。领航技术股份一、家用 / 智能家居场景&#xff08…

EasyGBS智能化视频监控助力企业安全运营

在商业快速扩张的背景下,连锁店门店数量激增,分布范围广。但传统人工巡检等管理方式效率低下,存在信息滞后、管理盲区,难以掌握店铺运营情况,影响企业效率与安全。作为一体化智能视频监控的国标GB28181算法算力平台Eas…

靠谱的厌氧池清淤哪家妙

《厌氧池清淤哪家好:专业深度测评排名前五》开篇:定下基调随着环保要求的不断提高和污水处理设施的持续建设,厌氧池清淤作为污水处理过程中的关键环节,其专业性和高效性日益受到重视。本次测评旨在为广大企业和环保单位提供一份客…

WHAT - Vercel react-best-practices 系列(一)

文章目录 前言 Guidelines Critical Patterns 1. Eliminate Waterfalls(消灭瀑布流) Defer await until needed 核心问题 反例:无论是否需要,先 await 推荐:await 放进条件分支 典型业务场景 本质总结 Use Promise.all for independent async operations 核心问题 反例:人…

数据合规律师必考七大证书:全面提升职场竞争力

在企业的数字化转型浪潮中,数据合规已成为法律人不可忽视的业务蓝海。随着《数据安全法》《个人信息保护法》等法规的深入实施,数据合规人才需求爆发性增长,具备专业资质的法律人才薪资平均比普通法务高出400%。一、CISP(注册信息…

AI大模型全景指南,从小白到程序员的完全学习手册

AI大模型作为新一代人工智能核心驱动力,已进入应用与智能体时代。产业链分为基础层(算力、数据、算法、云服务)、模型层(通用/行业大模型、MaaS)和应用层(To B/C场景),配以支撑服务提…

救命!挖到就业黄金赛道!2025 网安缺口 327 万,零基础入门到精通,收藏即通关!

《信息安全毕业主推的6大岗位(2025真实版)》 **关于我:资深IT专家,AI布道者,15年实战老兵多本专业图书作者大厂技术面试官。 ** 根据2024年官方公布的数据显示,到2027年我国网络安全人员缺口将达327万。 尽管全国已有6…

携手订单日记,圣力树开启智能升级之路

一、客户背景 惠州圣力树工艺品有限公司,成立于2016年,位于广东省惠州市惠阳区,是一家以从事销售圣诞制品、工艺品等产品为主的企业。 在业务不断壮大的过程中,面临生产效率低、统计数据麻烦等问题,需要一种既能提升运…

国家战略急需!网安工程师年薪真能过百万?好不好入行一篇说透!

针对时下大火的“网络安全工程师”,网络出现不少相关报导和信息: 下面就来跟大家分享一下网络安全工程师工资待遇,给大家作为一个参考。 不同工作经验的待遇水平 其中应届生工资¥6070,1-3年工资¥8820,3-5年工资&…

基于社区宠物管理

基于社区的宠物管理系统设计与实现 第一章 系统整体架构设计 基于社区的宠物管理系统以“规范饲养、安全保障、邻里和谐”为核心目标,采用“前端交互-后端服务-数据管理”三层架构。系统核心包含五大功能模块:宠物档案管理模块、免疫接种模块、社区活动模…