天天看點

0505.Net基礎班 | 檔案的操作之File類和FileStream類對比篇【連結附源代碼】

内容源自: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