陋室铭
永远也不要停下学习的脚步(大道至简至易)

posts - 2169,comments - 570,views - 413万

System.IO 命名空间内包含了对文件操作的支持,我的总结是:

1.       文件是以流的形式进行操作的,首先应创建文件流,FileStream代表了创建的文件流,创建FileStream多种方法。常用的是利用FileFileInfo两个类,都有返回FileStream的方法,区别是一个提供静态方法,一个提供实例方法。

2.       FileStream可以直接操作文件,如写入,读出等,但只能以二进制的形式以BYTE内容进行,很不方便。

3.       .NET提供了两种形式的控制FileStream的方法。BinaryReader, BinaryWriter类,以二进制的形式对文件流进行操作,读取时可返回各种类型的数据,但二进制形式的文件,字符串前是一个长度前缀StreamReaderStreamWriter以编码方式对文件流进行操作,返回的只能是字符(数组)或字符串,这个两类分别从TextReaderTextWriter派生,从这两个类派生的还有操作字符串的两个类StringReaderStringWriter 当然BinaryReader, BinaryWriter在操作字符或字符串时同样需要提供编解码方法。所以BinaryReader, BinaryWriter相比功能比较强大,但操作字符串有一个长度前缀,用记事本等打开时有乱码。

4.       只要是操作文件对象,都会要求提供以上操作流的对象或FileStream对象,比如序列化的XmlSerializerBinaryFormatterSerialize方法都要求提供一个文件流对象,也就是FileStream对象。原理上XmlSerializerBinaryFormatterSerialize方法和BinaryWriterStreamWriter的操作文件实现原理是一致的。所以XmlSerializerSerialize方法也可以提供一个StreamWriter对象(从TextWriter派生,也可以序列化进一个字符串)。

posted on   宏宇  阅读(526)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2007-11-07 .Net架构与设计模式(转)
2006-11-07 JS弹出窗口的运用与技巧(转)
2006-11-07 常用的SQL和T-SQL语句(三)-行列(转)
2006-11-07 常用的SQL和T-SQL语句(二)(转)
2006-11-07 常用的SQL和T-SQL语句(一) (转)
2006-11-07 C#中StringBuilder类的使用(转)
< 2008年11月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6

点击右上角即可分享
微信分享提示