• 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
  • 相关阅读:
    Mysql_常规操作
    三剑客
    Nginx_安全2
    shell_常规小脚本
    redis数据库持久化
    redis数据库操作
    keepalived高可用lvs集群
    ansible的roles角色
    keepalived高可用
    keepalived概念
  • 原文地址:https://www.cnblogs.com/kafeibuku/p/5320350.html
Copyright © 2020-2023  润新知