微商需要做网站吗,企业网站备案审核需要多长时间,大连大久建设集团有限公司,怎样查询百度收录和排名情况基本概念
C#中数据流的应用体现在方方面面#xff0c;现在针其常用的几种类进行一次梳理。 数据流包括文件流(FileStream)、内存流(MemoryStream)、网络流(NetworkStream)以及读写流如StreamReader、StreamWriter、BinaryReader和BinaryWriter等。 数据流是什么#xff1f; …基本概念
C#中数据流的应用体现在方方面面现在针其常用的几种类进行一次梳理。 数据流包括文件流(FileStream)、内存流(MemoryStream)、网络流(NetworkStream)以及读写流如StreamReader、StreamWriter、BinaryReader和BinaryWriter等。 数据流是什么 按照定义数据流是是对串行传输数据的一种抽象表示是对I/O的一种抽象。我们可以通过将文件夹数据、代码生成结果、设备、内存等各种形式的数据用流的方式进行传输。从程序的角度出发如果将数据从来源取出可以用StreamReader把数据储存在内存缓冲区如果将数据写入目的地可以使用StreamWriter把内存缓冲区的数据写入目标地址。 数据流的操作包括写、读查找其写入和读取操作都是基于字节的。 Stream是一种虚拟类是所有数据流的基类无法创建实例。
FileStream
FileStream类主要用于读写磁盘文件其读写方法如下所示:
//文件流读取FileStream fileStream File.Open(D:\Key.txt, FileMode.Open);//初始化待读取文件流byte[] array new byte[fileStream.Length];//初始化字节数组用来存储读取到的字节fileStream.Read(array, 0, array.Length);//读取文件流中数据写入到字节数组中fileStream.Close(); //关闭流string str Encoding.Default.GetString(array);//将字节数组内容转化为字符串Console.WriteLine(str);//写文件流byte[] array1 new byte[1024];array1 Encoding.UTF8.GetBytes(str);FileStream fileStream1 new FileStream(D:\Key.txt, FileMode.OpenOrCreate, FileAccess.Write);fileStream1.Write(array1, 0, array1.Length);NetWorkStream
NetWorkStream类是专门用来处理服务器与客户端通信的流。它在网络编程中经常使用主要是用来处理类似Socket、TcpClient和TcpListener这些类中得到的流。
SocketClient Listener.AcceptSocket(); //等待客户端的socket
NetStream new NetworkStream(SocketClient); //有客户端连接成功后创建网络流
ServerReader new StreamReader(NetStream); //读数据
ServerWriter new StreamWriter(NetStream); //写数据 MemoryStream
MemoryStream类用于保存数据到内存中并可以直接访问内存数据。比如说网络中传输数据时可以用流的形式当我们收到这些流数据时就可以用MemoryStream类来存储处理。内存流相对于字节数组而言具有流特有的特性并且容量可自动增长在数据加密以及对长度不定的数据进行缓存等场合使用内存流比较方便。 内存流有多种构造函数都有不同的作用但基本都是对内存流容量的定义。 MemoryStream myStream new MemoryStream();//将待写入数据从字符串转换为字节数组UnicodeEncoding encoder new UnicodeEncoding();byte[] bytes encoder.GetBytes(魑魅魍魉);//向内存流中写入数据for (int i 0; i 10; i){Console.WriteLine(第{0}写入新数据, i);myStream.Write(bytes, 0, bytes.Length);}