首页 > Windows开发 > 详细

C#流(stream)

时间:2016-04-05 09:22:16      阅读:322      评论:0      收藏:0      [点我收藏+]

http://www.cnblogs.com/liuxinls/archive/2013/02/15/2912968.html

?

流用于对IO处理

System.IO名称空间中有以下类

BinaryReader/Writer

TextReader/Writer

Stream

其中类Stream为抽象类。由此有三个派生类:

MemoryStream
:对内存进行读取与写入

BufferedStream
:对缓冲器进行读取/写入

FileStream
:对文件执行读取与写入

TextReader/Writer
为抽象类。由此派生类:

StreamReader/StreamWirter

StringReader/StreamWriter

需要引入命名空间:

using System.IO

技术分享

内存流与缓冲的使用举例:

?

MemoryStream memStream=new MemoryStream();

?

BufferedStream bufStream=new BufferedStream(memStream);

?

byte[] b=new byte[10];

?

for(int i=0;i<10;i++)

?

{

?

bufStream.WriteByte((byte)i);

?

}

?

bufStream.Position=0;

?

bufStream.Read(b,0,9);

?

for(int i=0;i<10;i++)

?

{

?

Console.WriteLine("读的值是:{0}",b[i]);

?

}

?

Console.WriteLine("值是:{0}",bufStream.ReadByte());

?

Console.ReadLine();

技术分享

技术分享

文件流的使用

?

string s=Console.ReadLine();

?

FileStream fileStream=new FileStream(s,FileMode.OpenOrCreate);

?

BinaryWriter binStream=new BinaryWriter (fileStream);

?

for(int i=1;i<=10;i++)

?

{

?

binStream.Write((int)i);

?

}

?

binStream.Close();

?

fileStream.Close();

?

FileStream f=new FileStream(s,FileMode.Open,FileAccess.Read,FileShare.ReadWrite);

?

BinaryReader buf=new BinaryReader(f);

?

for(int i=1;i<10;i++)

?

{

?

?

Console.WriteLine("输出{0}",buf.ReadByte ()); //vs2012中这样不能读出东西来

?

Console.WriteLine("输出{0}",Bur.ReadInt32());才行,因为int32位的

?

}

技术分享

技术分享

文本流的使用

?

string fileName,s;

?

fileName=Console.ReadLine();

?

StreamWriter fn=new StreamWriter(fileName,true);

?

for(int i=1;i<10;i++)

?

{

?

s=Console.ReadLine();

?

fn.WriteLine(s);

?

}

?

fn.Close();

?

StreamReader fr=new StreamReader(fileName);

?

?

for(int i=1;i<10;i++)

?

{

?

s=fr.ReadLine();

?

Console.WriteLine(s);

?

}

?

fr.Close();

?

Console.ReadLine();

技术分享

技术分享

字符串流的使用

?

using System.Text;

?

StringBuilder str=new StringBuilder(100,1000);

?

StringWriter sw=new StringWriter(str);

?

for(int i=1;i<5;i++)

?

{

?

sw.Write(Console.ReadLine());

?

}

?

sw.Close();

?

Console.WriteLine(sw.ToString());

?

StringReader sr=new StringReader(sw.ToString());

?

Console.WriteLine(sr.ReadLine());

?

Console.ReadLine();

C#流(stream)

原文:http://www.cnblogs.com/qq260250932/p/5353720.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!