网络流
NetworkStream类提供用于网络访问的基础数据流,NetworkStream实现了通过网络套接字发送和接收数据的标准。NetworkStream支持对网络数据流的同步和异步访问,但不支持对网络数据流的随机访问。
Read
NetworkStream newStream = new NetworkStream(mysock);
byte[] myByte = new Byte[1024];
newStream.Read(myByte,0,myByte.Length);
newStream.Flush();
Write
NetworkStream newStream = new NetworkStream(mysock);
byte[] myByte = new Byte[1024];
newStream.Write(myByte,0,myByte.Length);
newStream.Flush();
文本流
文本流用于文本的读写。
向文件写文本流
StreamWriter sw = null;
sw = new StreamWriter(“e://temp//aa.txt”,false,System.Text.Encoding.UTF8);
sw.Write(“aaaaaaaaaaaaaaaaaaaaaa”);
sw.Close();
新建或打开(如果不存在,就新建一个文件,如果已经存在,则打开)一个文件,然后向文件写文本数据,并且新数据代替旧数据。
StreamWriter sw = null;
sw = new StreamWriter(“e://temp//aa.txt”,true,System.Text.Encoding.UTF8);
sw.Write(“aaaaaaaaaaaaaaaaaaaaaa”);
sw.Close();
新建或打开(如果不存在,就新建一个文件,如果已经存在,则打开)一个文件,然后向文件写文本数据,并且新数据放在旧数据后面。
向网络写入文本
string str = “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
byte[] myByte = System.Text.Encoding.UTF8.GetBytes(str);
NetworkStream netStream = new NetworkStream(mysock);
netStream.Write(myByte,0,myByte.Length);
从文件读取文本
StreamReader sr = null;
sr = new StreamReader(“e:/temp//aa.txt”,System.Text.Encoding.UTF8);
string myStr = sr.ReadToEnd();
sr.Close();
从网络读取文本
string str = “aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”;
byte[] myByte = System.Text.Encoding.UTF8.GetBytes(str);
NetworkStream netStream = new NetworkStream(mysock);
netStream.Read(myByte,0,myByte.Length);
文件流
文件流主要用于读写非文本的文件。文件类型可以是各种各样的。无论是文本文件,还是图片文件、压缩文件、可执行文件等等吗,都可以用文件流实现读写功能。
将网络流数据写入文件
下面代码演示如何从网络流中读取数据并将内容写入文件,其中path代表文件路径,stream代表已经连接并且存在数据传输的网络流。
FileStream filestream = new FileStream(path
,FileMode.OpenOrCreate,FileAccess.Write);
int readNumber = 0 ;
byte[] bye = new byte[8];
while((readNumber = stream.Read(bye,0,8)) > 0 )
{
filestream.Write(bye,0,readNumber);
filestream.flush();
}
fileStream.Close();
读文件并写入网络流
filestream = new FileStram(path,
FileMode.Open,FileAccess.Read);
int number;
byte[] bb = new byte[8];
NetworkStream stream = new NetworkStream(newClient);
while((number = filestream.Readbb,0,8)) != 0)
{
stream.Write(bb,0,8);
stream.Flush();
bb = new byte[8];
}
Filestream.Close();