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中这样不能读出东西来

位的

}

文本流的使用

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();

最新文章

  1. JSF标签的使用2
  2. Virtualbox中不能为虚拟机打开一个新任务的原因及解决方法
  3. 导出DBF,并且提供下载 [转]
  4. vim黏贴自动增加tab的毛病
  5. mysql 时间格式与日期格式转换,去除datetime中的具体时间
  6. UIWebView通过JS语句获取网页(html)的某些数值
  7. 重构第15天 移除重复的代码(Remove Duplication)
  8. 写sql语句连接的时候注意的一个小细节
  9. iOS之地理位置及定位系统 -- 入门笔记
  10. Eclipse搭建Android开发环境(安装ADT,Android4.4.2)(转)
  11. What is Flux?
  12. INSTALL_FAILED_UPDATE_INCOMPATIBLE
  13. The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
  14. percona_xtrabackup
  15. MyCat 启蒙:分布式系统的数据库架构演变
  16. Windows中通过命令行新建文件夹、新建文件,和一些常用命令
  17. Go基础系列:函数(2)——回调函数和闭包
  18. 线程池之ThreadPoolExecutor
  19. 【做题】POJ3469 Dual Core CPU——第一道网络流
  20. javascript的一些在IE下不支持的函数小结

热门文章

  1. jsp+ajax+servlet+jquery从后台取json数据示例
  2. C语言goto语句的使用
  3. hdfoo站点开发笔记-2
  4. vue 弹性布局 实现长图垂直居上,短图垂直居中
  5. Multi-attention Network for One Shot Learning
  6. 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
  7. 【ASP.NET】System.Web.Routing - RouteCollection Class
  8. ifconfig 输出里没有IP地址
  9. SAP 财务模块 FI-TV 差旅管理
  10. HDU 5791 Two(LCS求公共子序列个数)