C#流(stream)
来源:互联网 发布:华为云计算大会2016 编辑:程序博客网 时间:2024/06/06 03:17
Stream类提供了一个字节序列的一般视图
通俗的讲:
stream就像是一条大路的一座桥,桥上过的车都是 byte型的,stream进行read的时候是把桥上的bytes接过来,
write的时候是把bytes送到桥上去等对方接收。
流用于对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());才行,因为int是32位的
}
案例三
文本流的使用
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)
- C#流(stream)
- C#流(stream)
- C#流(stream)
- c# stream
- C#流Stream的使用总结
- C# network stream
- C# stream <> byte[]
- C#之stream
- C# Stream读写文本文件
- C#之stream
- C# 温故而知新:Stream篇
- C# Stream作用
- C# 温故而知新:Stream
- c#常见stream操作
- C#中Stream
- C# Stream作用
- C# Stream使用
- 用GDB调试程序
- Android4.0 SDK新功能详解
- 测试greeplum数据库连接
- HDU 2222 AC自动机经典题目
- VS2008 编译 链接器错误以及使用C语言函数的警告
- C#流(stream)
- Maven Web 项目
- IE8 中"HTML Parsing Error:Unable to modify the parent container element before the child element is c
- Windows 各种计时函数总结
- 函数名与函数指针
- java与maven的环境配置
- Nagios短信报警功能通过飞信实现
- 前台处理小技巧积累
- 开源--iOS 汇总