C#流(stream)


流用於對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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM