C#流(stream)
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();
最新文章
- JSF标签的使用2
- Virtualbox中不能为虚拟机打开一个新任务的原因及解决方法
- 导出DBF,并且提供下载 [转]
- vim黏贴自动增加tab的毛病
- mysql 时间格式与日期格式转换,去除datetime中的具体时间
- UIWebView通过JS语句获取网页(html)的某些数值
- 重构第15天 移除重复的代码(Remove Duplication)
- 写sql语句连接的时候注意的一个小细节
- iOS之地理位置及定位系统 -- 入门笔记
- Eclipse搭建Android开发环境(安装ADT,Android4.4.2)(转)
- What is Flux?
- INSTALL_FAILED_UPDATE_INCOMPATIBLE
- The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
- percona_xtrabackup
- MyCat 启蒙:分布式系统的数据库架构演变
- Windows中通过命令行新建文件夹、新建文件,和一些常用命令
- Go基础系列:函数(2)——回调函数和闭包
- 线程池之ThreadPoolExecutor
- 【做题】POJ3469 Dual Core CPU——第一道网络流
- javascript的一些在IE下不支持的函数小结
热门文章
- jsp+ajax+servlet+jquery从后台取json数据示例
- C语言goto语句的使用
- hdfoo站点开发笔记-2
- vue 弹性布局 实现长图垂直居上,短图垂直居中
- Multi-attention Network for One Shot Learning
- 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition
- 【ASP.NET】System.Web.Routing - RouteCollection Class
- ifconfig 输出里没有IP地址
- SAP 财务模块 FI-TV 差旅管理
- HDU 5791 Two(LCS求公共子序列个数)