引言
在C#编程中,IO(输入/输出)流是处理文件和数据交换的核心技术。无论是读取配置文件、保存用户数据,还是处理网络传输,都离不开IO流的支持。
一、路径
1.1 路径操作
路径:文件夹/文件的索引位置
路径分为绝对路径及相对路径
绝对路径:完整的路径,文件再存储空间的位置
相对路径:以文件运行目录作为参考点
对路径进行操作一般用Path常见方法:
1.2 File和Directory类
File类对文件进行操作,常见方法如下:
Directory对目录进行操作,常见方法如下:
二、IO流
对文件进行读写操作I(input)O(out)输入输出流。形象理解:水管。(虚拟的不是真实存在)
文件(或其他存储介质:U盘硬盘)读取到程序内存,内存写入到文件
读取顺序:先进先出
2.1 主要类
Stream是抽象基类,位于System,IO命名空间,主要派生类包括:
FileStream:文件流 节点流,对接到文件重要
MemoryStream:内存流
NetworkStream:网络流
BufferedStream:缓冲流,提升FileStream读写速度,带缓冲区(byte[]数组)
CryptoStream:加密流
GZipStream:压缩流
2.2 字节流操作
使用步骤:
创建IO对象(打开流)
对文件资源进行读写
关闭资源(使用using语句自动关闭)
FileStream
fileStream可以同时有操作输入输出流:
2.3 字符流操作
StreamReader —字符输入流
StreamWriter —字符输出流
用于将程序的数据写入到存储空间
2.4缓冲流 - 性能优化
BufferedStream
常用于与字节流一起使用,提高字节流读取效率
装饰者模式:
即多个流的嵌套,常用于缓冲流和字节流的套用,提高字节流的效率