C# Path類 FileStream(文件流) 與 File(文件) 讀取的區別


1.采用文件流讀取數據是一點一點從文件中讀取數據對內存的壓力相對較小;而采用文件讀取數據是一下全部讀取過來對內存造成的壓力相對較大

2.File讀取:

string str = @"E:\QQInfo\123456789\FileRecv\new 5.txt";

//獲得文件名
Console.WriteLine(Path.GetFileName(str));
//獲得文件名但是不包含擴展名
Console.WriteLine(Path.GetFileNameWithoutExtension(str));
//獲得文件的擴展名
Console.WriteLine(Path.GetExtension(str));
//獲得文件所在的文件夾名稱
Console.WriteLine(Path.GetDirectoryName(str));
//獲得文件所在的全路徑
Console.WriteLine(Path.GetFullPath(str));
//連接兩個字符串作為路勁
Console.WriteLine(Path.Combine(@"c:\a\", "b.txt"));
string str = "學習文\r\n本寫入";
System.IO.File.WriteAllText(@"C:\Users\pc\Desktop\寫入文本內容.txt",str);
Console.WriteLine("寫入成功!");
Console.ReadKey();
File.Create(@"C:\Users\pc\Desktop\new1.txt");
Console.WriteLine("創建成功");

File.Delete(@"C:\Users\pc\Desktop\new.txt");
Console.WriteLine("刪除成功");

File.Copy(@"C:\Users\pc\Desktop\new1.txt", @"C:\Users\pc\Desktop\new2.txt");
Console.WriteLine("復制成功");

Console.ReadKey();

3.FileStream 文件流讀取

FileStream fsReader = new FileStream(@"這里放路徑", FileMode.OpenOrCreate, FileAccess.Read);
byte[] buffer = new byte[1024 * 1024 * 5];
int r = fsReader.Read(buffer, 0, buffer.Length);//返回本次實際讀取的字節數

string s = Encoding.UTF8.GetString(buffer, 0, r);//將字節數組數組中的每一個元素按照指定的編碼格式解碼成字符串

fsReader.Close();//關閉流
fsReader.Dispose();//釋放流資源
Console.WriteLine(s);

4.FileStream 文件流寫入

using (FileStream fsWrite = new FileStream(@"這里放路徑", FileMode.OpenOrCreate, FileAccess.Write))
{
         string str = "寫入內容";
         byte[] buffer = Encoding.UTF8.GetBytes(str);
         fsWrite.Write(buffer, 0, buffer.Length);
}
Console.WriteLine("寫入OK");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM