[VB.NET][C#.NET] MemoryStream / BufferedStream 类
MemoryStream 跟 StringReader / StringWriter 类用法差不多,但两者还是些微不同;MemoryStream可以将已经写入内存的数据,直接另存到实例文件,而StringWriter不能直接存。
private void button1_Click(object sender, EventArgs e)
{
//引用MemoryStream类
MemoryStream myMem = new MemoryStream();
//引用StreamWriter类
StreamWriter myWriter = new StreamWriter(myMem);
//写数据至内存
myWriter.Write("写数据至:");
myWriter.WriteLine("内存(Memory)");
//写数据至文件
myWriter.Flush();
FileStream myFile = File.Open(@"C:myFile.txt", FileMode.OpenOrCreate);
myMem.WriteTo(myFile);
//释放
myFile.Dispose();
myWriter.Dispose();
myMem.Dispose();
}
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'引用MemoryStream类
Dim myMem As MemoryStream = New MemoryStream()
'引用StreamWriter类
Dim myWriter As StreamWriter = New StreamWriter(myMem)
'写数据至内存
myWriter.Write("写数据至:")
myWriter.WriteLine("内存(Memory)")
'写数据至文件
myWriter.Flush()
Dim myFile As FileStream = File.Open("C:myFile.txt", FileMode.OpenOrCreate)
myMem.WriteTo(myFile)
'释放
myFile.Dispose()
myWriter.Dispose()
myMem.Dispose()
End Sub
BufferedStream 类,是将缓冲层加入另一数据流上的读写。
有时候直接将数据写入文件性能并不好,由其是在处理大笔数据时,为了提高处理效率可以使用BufferedStream 类,将数据写入缓冲区内,当缓冲区被全部清除输出时,数据才会真正的被写入数据。
private void button2_Click(object sender, EventArgs e)
{
FileStream myFile = File.Open(@"C:myFile.txt", FileMode.Create, FileAccess.Write, FileShare.Write);
BufferedStream myBuf = new BufferedStream(myFile);
StreamWriter myWrite = new StreamWriter(myBuf);
myWrite.Write("写入缓冲区");
myWrite.WriteLine("步骤还真麻烦");
myBuf.Flush();
//释放
myWrite.Dispose();
myBuf.Dispose();
myFile.Dispose();
}
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim myFile As FileStream = File.Open("C:myFile.txt", FileMode.Create, FileAccess.Write, FileShare.Write)
Dim myBuf As BufferedStream = New BufferedStream(myFile)
Dim myWrite As StreamWriter = New StreamWriter(myBuf)
myWrite.Write("写入缓冲区")
myWrite.WriteLine("步骤还真麻烦")
myBuf.Flush()
'释放
myWrite.Dispose()
myBuf.Dispose()
myFile.Dispose()
End Sub
若有谬误,烦请告知,新手发帖请多包涵
2010~2017 C# 第四季
原文:大专栏 [VB.NET][C#.NET] MemoryStream / BufferedStream 类