C#中的文件流和文本流

文本流
文本流用于文本的读写。要谈文本,首先要了解的是文本编码。在网络编程中,常用的是ASCII,UTF8和BigEndianUnicode码。
其中ASCII码最常见。几乎所有的协议都支持ASCII码。SMTP和POP3协议使用UTF8编码,但也支持ASCII码。
1、向文件写入文本流

string strs="sss";
StreamWriter stream=null;
stream=new StreamWriter(@"e:/11.txt",System.Text.Encoding.UTF8);
stream.Write(strs);
stream.Close();

2、向网络流中写入文本

string strs="ssss";
byte[] buffer=System.Text.Encoding.UTF8.GetBytes(strs);//得到字符串的字节流
NetworkStream newStream=new NetworkStream(mySock);
newStream.Write(buffer,0,buffer.Length);

3、从文件读取文本

StreamReader sr=new StreamReader("e://1.txt",System.Text.Encoding.UTF8);
string myStr=sr.ReadToEnd();
sr.Close();

4、从网络流中读取文本

string strs="sssss";
byte[] buffer=System.Text.Encoding.UTF8.GetBytes(strs);
NetworkStream newStream=new NetworkStream(sock);
newStream.Read(buffer,0,buffer.Length);

文件流
1、将网络流数据写入文件

FileStream fileStream=new FileStream(filePath,FileMode.OpenOrCreate,FileAccess.Write);
NetworkStream stream=new NetworkStream(sock);
int readNumber=0;
byte[] buffer=new byte[8];
while(readStream=stream.Read(buffer,0,buffer.Length)>0)
{
fileStream.Write(buffer,0,readStream);//将网络流写到文件流中
fileStream.Flush();//刷新数据流
}
fileStream.Close();

2、将文件写到网络流中

FileStream fileStream=new FileStream(filePath,FileMode.Open,FileAccess.Read);
NetworkStream newStream=new NetworkStream(mysock);
int number;
byte[] buffer=new byte[8];//定义缓存区
while((number=fileStream.Read(buffer,0,buffer.Length))!=0)
{
newStream.write(buffer,0,buffer.Length);
newStream.Flush();//刷新流
buffer=new byte[8];
}
fileStream.Close();

转载于:https://www.cnblogs.com/luodao1991/archive/2013/04/29/3051218.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值