FileStream fss = File.OpenRead(@"d:\a.dll");
FileStream fsd = File.OpenWrite(@"d:\b.dll");
int bytesRead = 0;
while ((bytesRead = fss.Read(buffer, 0 , bufferSize)) > 0)
{
fsd.Write(buffer, 0, bytesRead);
}
fss.Close();
fsd.Close();
Stream si = File.OpenRead(@"d:\a.dll");
Stream so = File.OpenWrite(@"d:\b.dll");
BufferedStream bsi = new BufferedStream(si);
BufferedStream bso = new BufferedStream(so);
while ((bytesRead = bsi.Read(buffer, 0 , bufferSize)) > 0)
{
bso.Write(buffer, 0, bytesRead);
}
bio.Flush();
bsi.Close();
bso.Close();
TextReader兩個子類:StreamReader和StringReader
- x.Read為從x中讀取
- y.Write為往y中寫入
- 被寫入的流可以調用Flush方法
- 流通常都沒有Open方法,也不需要Open
- 流都有Close方法,且必須調用
- 使用緩衝流(BufferedStream)會提高效率,因為你自訂的buffer大小不一定是正合適的
- 流可以疊加、嵌套,可以認為有內在流和外部流之分,當調用外部流的Close方法時,它會自動調用內在流的Close方法
- 流本身可以認為就是位元組流,為了使用方便,我們通常會用...Reader和...Writer
- 構造...Reader的方法通常有兩種:1 File.OpenText類,2 StreamReader sr = new StreamReader(源流)