几种流的使用方法!
流用于对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 ());
案例三
文本流的使用
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();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述