C#网络编程 (二) 数据流的类型和应用
2016-05-16 20:40
471 查看
介绍
流(stream)是串行化设备的抽象表示,可以是文件,内存,网络套接字等。Stream类是所有流类的抽象基类。在VS.NET平台上,包括了下面三种数据流类型
类型 | 命名空间 | 功能 |
---|---|---|
网络流Network Stream | System.Net.Sockets | 网络数据的读写操作 |
内存流 Memory Stream | System。IO | 内存数据的处理和转换 |
文件流File Stream | System.IO | 文件的读写操作 |
NetworkStream类
初始化://初始化一个套接字 Socket netSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); //由套接字生成一个网络流 NetworkStream netStream = new NetworkStream(netSocket);
常用的方法和属性有:
主要属性和方法 | 描述 |
---|---|
DataAvailable | 有数据可读时,其值为真 |
Read()、Write() | 从/向NetworkStream中读取/写入数据 |
ReadByte()、WiriteByte() | 从/向NetworkStream读取/写入一个字节的数据 |
EndRead()、BeginRead() | 结束/启动一个异步NetworkStream的读操作 |
BeginWrite()、EndWrite() | 开始/启动一个异步NetworkStream的写操作 |
Flush() | 刷新流 |
Close() | 关闭对象 |
MemoryStream类
这个类所创建的流以内存而不是磁盘或网络连接作为支持存储区。在屏幕捕获、音频实时处理等数据量大的场合得到应用,用于读写内存数据流,经常作为不同缓冲数据之间的转换方式
FileStream类
文件流用于对文件的读写,有两类文本文件的读写 StreamReader StreamWriter
二进制文件的读写 BinaryReader BinaryWriter
System.IO命名空间下,包含了对目录和文件的操作的类
Directory和DirectoryInfo类 文件和目录的操作
File和FileInfo类 对文件的各种操作
Path类 对包含文件和目录路径信息的字符串进行操作的静态方法
一个文件操作流的例子
StreamWriter sw = new StreamWriter("MyFile.txt", true, System.Text.Encoding.Unicode); sw.WriteLine("第一条语句"); sw.WriteLine("第二条语句"); sw.Close(); StreamReader sr = new StreamReader("MyFile.txt", System.Text.Encoding.Unicode); string str1 = sr.ReadLine(); Console.WriteLine(str1); string str2 = sr.ReadLine(); Console.WriteLine(str2); sr.Close(); Console.ReadKey();