c#基础: NetWorkStream类的主要属性

一、网络流
1.    最常用的方法  Read()  Write()    Flush()
1 NetworkStream netStream = new NetworkStream(mesock);
2 byte[] nyByte = new Byte[1024];
3 // Read() :
4 netStream.Read(myByte, 0, myByte.Length);
5 // Write():
6 netStream.Write(myByte, 0, myByte.Length);
7 netStream.Flush();
View Code
        
二、文本流
1.    文本编码格式:
        ASCII(几乎支持所有协议)    UTF8(支持SMTP协议、POP3协议, 支持汉字传输)    BigEndianUnicode码(是双字节码,所以一般协议不用这个, 支持汉字传输)
  <1> 向文件写文本流
1 StreamWrite sw = null;
2 sw = new StreamWrite("f:\\1.txt", false, System.Text.Encoding.UTF8); // 如文件不存在则创建,存在则打开,并且用新数据覆盖旧数据
3 sw.Write("写入的信息");
4 sw.Close();
View Code
  <2>打开文件时指定文件权限和编码格式
1 sw = new StreamWrite("f:\\1.txt"true, System.Text.Encoding.UTF8); // 如文件不存在则创建,存在则打开,并且新数据在旧数据后面
View Code
  <3> 向网络写入文本
1 string data = "abcdefghijklmnopqrstuvwxyz";
2 byte[] datas = System.Text.Encoding.UTF8.GETBytes(data);
3 NetworkStream netStream = new NetworkStream(mysock);
4 netStream.Write(myByte, 0, myByte.Length);
View Code
  <4> 从文件读取文本
1 StreamReader sr = null;
2 sr = new StreamReader("f:\\1.txt", false, System.Text.Encoding.UTF8);
3 string data = sr.ReadToEnd();
4 sr.Close();
View Code
  <5> 从网络读取文本
1 string data = "abcdefghijklmnopqrstuvwxyz";
2 byte[] datas = System.Text.Encoding.UTF8.GETBytes(data);
3 NetworkStream netStream = new NetworkStream(mysock);
4 netStream.Read(myByte, 0, myByte.Length);
View Code

 

三、 文件流(主要用于读写非文本文件)  
   <1> 将网络流数据写入文件
1 FileStream filestream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
2 int readNumber = 0;
3 bytep[] byte = new byte[8];
4 while ( (readNumber = stream.Read(byte, 0, 8)) > 0)
5 {
6     filestream.Write(byte, 0, readNumber);
7     filestream.Flush();
8 }
9 filestream.Close();
View Code
   <2> 读文件并写入网络流  
 1 FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
 2 int number = 0;
 3 // 定义缓冲区
 4 byte[] bb = new bytep8[];
 5 // 循环读文件
 6 NetworkStream stream = new NetworkStream(newClient);
 7 while ( (number=filestream.Read(bb, 0, 8)) != 0)
 8 {
 9     // 向客户端发送流
10     stream.Write(bb, 0, 8);
11 }
View Code

 

你可能感兴趣的:(c#基础: NetWorkStream类的主要属性)