流 | 类型 | 适合文件类型 |
FileStream | 字节流 | 全部类型,大文件,多媒体文件 |
StreamReader | 字符流 | 文本文件 |
一、FileStream
#region 4.0 FileStream
//定义的数组字节数大于文件实际字节数,实际解码后,用空的填充,可以限制
FileStream fs = new FileStream(str, FileMode.OpenOrCreate, FileAccess.Read);
//定义5M的字节数组
byte[] buffer_2 = new byte[5 * 1024 * 1024];
//actual Byte 读取到字节数组中
int r = fs.Read(buffer_2, 0, buffer_2.Length);
//全部读入字符串
string str1 = Encoding.Default.GetString(buffer_2, 0, r);
//close
fs.Close();
//release
fs.Dispose();
Console.WriteLine(str1);
Console.ReadKey();
//即用即消,不占空间
using (FileStream fileStream = new FileStream(str, FileMode.Append, FileAccess.Write))
{
string str2 = ", I promise it.";
byte[] buffer_3 = Encoding.Default.GetBytes(str2);
fileStream.Write(buffer_3, 0, buffer_3.Length);
}
Console.WriteLine("0k");
Console.ReadKey();
#endregion
二、StreamWrite
#region 6.0 StreamWrite Demo
//即用即消,不占空间
using (StreamReader sr = new StreamReader(str))
{
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
//Console.ReadKey();
}
using (StreamWriter sr = new StreamWriter(str))
{
sr.Write("I abandon myself to love you");
sr.WriteLine("不覆盖写");
}
Console.WriteLine("ok");
Console.ReadKey();
#endregion