一、网络流
1.    最常用的方法  Read()  Write()    Flush()
 NetworkStream netStream = new NetworkStream(mesock);
byte[] nyByte = new Byte[];
// Read() :
netStream.Read(myByte, , myByte.Length);
// Write():
netStream.Write(myByte, , myByte.Length);
netStream.Flush();
二、文本流
1.    文本编码格式:
        ASCII(几乎支持所有协议)    UTF8(支持SMTP协议、POP3协议, 支持汉字传输)    BigEndianUnicode码(是双字节码,所以一般协议不用这个, 支持汉字传输)
  <1> 向文件写文本流
 StreamWrite sw = null;
sw = new StreamWrite("f:\\1.txt", false, System.Text.Encoding.UTF8); // 如文件不存在则创建,存在则打开,并且用新数据覆盖旧数据
sw.Write("写入的信息");
sw.Close();
  <2>打开文件时指定文件权限和编码格式
 sw = new StreamWrite("f:\\1.txt", true, System.Text.Encoding.UTF8); // 如文件不存在则创建,存在则打开,并且新数据在旧数据后面
  <3> 向网络写入文本
 string data = "abcdefghijklmnopqrstuvwxyz";
byte[] datas = System.Text.Encoding.UTF8.GETBytes(data);
NetworkStream netStream = new NetworkStream(mysock);
netStream.Write(myByte, , myByte.Length);
  <4> 从文件读取文本
 StreamReader sr = null;
sr = new StreamReader("f:\\1.txt", false, System.Text.Encoding.UTF8);
string data = sr.ReadToEnd();
sr.Close();
  <5> 从网络读取文本
 string data = "abcdefghijklmnopqrstuvwxyz";
byte[] datas = System.Text.Encoding.UTF8.GETBytes(data);
NetworkStream netStream = new NetworkStream(mysock);
netStream.Read(myByte, , myByte.Length);
三、 文件流(主要用于读写非文本文件)  
  <1> 将网络流数据写入文件
 FileStream filestream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
int readNumber = ;
bytep[] byte = new byte[];
while ( (readNumber = stream.Read(byte, , )) > )
{
filestream.Write(byte, , readNumber);
filestream.Flush();
}
filestream.Close();
  <2> 读文件并写入网络流  
 FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
int number = ;
// 定义缓冲区
byte[] bb = new bytep8[];
// 循环读文件
NetworkStream stream = new NetworkStream(newClient);
while ( (number=filestream.Read(bb, , )) != )
{
// 向客户端发送流
stream.Write(bb, , );
}

c#基础: NetWorkStream类的主要属性的更多相关文章

  1. springMVC基础controller类

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:设置请求.响应对象:session.cookie操作:ajax访问返回json数据: 创建springMVC基础con ...

  2. hibernate基础dao类

    此文章是基于 搭建SpringMVC+Spring+Hibernate平台 功能:数据库的保存.更新.删除:sql.hql查询:分页查询:调用存储过程 创建hibernate基础dao类: BaseD ...

  3. [.net 面向对象编程基础] (9) 类和类的实例

    [.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...

  4. [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)

    [.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...

  5. python基础——枚举类

    python基础——枚举类 当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份: JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12 好处是简单 ...

  6. python基础——定制类

    python基础——定制类 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__len__()方 ...

  7. Python基础-类的探讨(class)

    Python基础-类的探讨(class) 我们下面的探讨基于Python3,我实际测试使用的是Python3.2,Python3与Python2在类函数的类型上做了改变 1,类定义语法  Python ...

  8. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  9. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

随机推荐

  1. rsync在windows和linux同步数据的配置过程

    centos7.0安装rsync3.0.9-17.el7 yum install rsync ===================================================== ...

  2. jquery之checkbox

    //checkbox 数据回显 var publishRange=rowData.publishRange.split(","); for(var i = 0;i < pub ...

  3. (六)《Java编程思想》——初始化及类的加载顺序

    package chapter7; /** * 初始化及类的加载顺序:顺序如下 * 1.基类的static变量 * 2.导出类的static变量 * 3.基类的变量 * 4.基类的构造函数 * 5.导 ...

  4. 1:scrapy框架原理与环境搭设

    1:原理图: (*此图来自网络) 2:开发过程: 1)编写items.py,确定要抓取的关键字段名称 2)编写spider,确定发送request的形式以及对于response的处理 3)编写pipe ...

  5. Directory.GetFiles 方法

    Directory.GetFiles 方法 返回指定目录中文件的名称(包括其路径). 命名空间:   System.IO程序集:  mscorlib(mscorlib.dll 中) Enumerate ...

  6. easyui datagrid 行数

    $('#gridList').datagrid('getData').rows.length

  7. poj2486

    题目大意:给出一个树,每个节点有一个值,问从1开始走走k步最多能遍历到最大的值的和:dp[i][j][k] 当i为零是表示如果从j点开始遍历以j为跟的子树,走k步后回到原点的最大值.dp[i][j][ ...

  8. ZOJ 1642

    题意:有两个字符串,每个串由n个字符组成,每个字符有一个价值,Roy每次指定串2中的一个字符,他的得分增加的值为这个字符的价值,然后把两个串中这个字符前面的那部分(包括这个字符)删掉,重复进行这样的操 ...

  9. Sicily 1194. Message Flood

    题目地址:1194. Message Flood 思路: 不区分大小写,先全部转化为小写,用stl提供的函数做会很方便. 具体代码如下: #include <iostream> #incl ...

  10. VC++深入详解读书笔记-第六章菜单

    1.MFC都是采用大写字母来标识资源ID号. 2.程序中会用到多种资源,在为资源确定其ID号时,为了明确区分资源类型,一般都遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母,例如,我们给 ...