内容源自:0505.Net基礎班 | 檔案的操作之File類和FileStream類對比篇
檔案管理(File類)
内容連結:https://blog.csdn.net/kuai8le/article/details/101418283
檔案流(FileStream)
FileStream類是操作位元組的
Read方法與Write方法
FileMode
Read、Write、ReadWrite
FileAccess
Append、Create、CreateNew、Open、
OpenOrCreate、Truncate
對比讀取資料
使用File來讀取資料
byte[] buffer = File.ReadAllBytes(@"C:\Users\Administrator.USER-20190915QG\Desktop\抽象類特點.txt");
string str = Encoding.Default.GetString(buffer);
Console.WriteLine(str);
Console.ReadKey();
使用FileStream來讀取資料
FileStream fsRead = new FileStream(@"C:\Users\Administrator.USER-20190915QG\Desktop\抽象類特點.txt", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[1024 * 1024 * 5];
//傳回本次實際讀取到的有效位元組數
int r = fsRead.Read(buffer, 0, buffer.Length);
//将位元組數組轉換成字元串
string str = Encoding.Default.GetString(buffer, 0, r);
//關閉流
fsRead.Close();
//釋放流資源
fsRead.Dispose();
Console.WriteLine(str);
Console.ReadKey();
對比寫入資料
使用File類來寫入資料
string str = "今天天氣不錯!";
byte[] buffer = Encoding.Default.GetBytes(str);
File.WriteAllBytes(@"C:\Users\Administrator.USER-20190915QG\Desktop\new.txt", buffer);
Console.WriteLine("寫入成功!");
Console.ReadKey();
使用FileStream類來寫入資料
FileStream fsWrite = new FileStream(@"C:\Users\Administrator.USER-20190915QG\Desktop\new2.txt", FileMode.OpenOrCreate, FileAccess.Write);
string str = "今天心情很好!";
byte[] buffer = Encoding.Default.GetBytes(str);
fsWrite.Write(buffer, 0, buffer.Length);
fsWrite.Close();
fsWrite.Dispose();
Console.WriteLine("寫入成功!");
Console.ReadKey();
寫在using當中
将建立流對象的過程寫在using當中,會自動的幫助我們釋放流所占用的資源。
FileStream讀取
using (FileStream fsRead = new FileStream(@"C:\Users\Administrator.USER-20190915QG\Desktop\抽象類特點.txt", FileMode.OpenOrCreate, FileAccess.Read))
{
byte[] buffer = new byte[1024 * 1024 * 5];
int r = fsRead.Read(buffer, 0, buffer.Length);
string str = Encoding.Default.GetString(buffer, 0, r);
Console.WriteLine(str);
}
Console.ReadKey();
FileStream寫入
using (FileStream fsWrite=new FileStream(@"C:\Users\Administrator.USER-20190915QG\Desktop\new2.txt",FileMode.OpenOrCreate,FileAccess.Write))
{
string str = "今天心情很好!";
byte[] buffer = Encoding.Default.GetBytes(str);
fsWrite.Write(buffer, 0, buffer.Length);
Console.WriteLine("寫入成功");
}
Console.ReadKey();
https://github.com/Link2019/FileDemo