欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# File類中的文件讀寫方法詳解

 更新時間:2023年05月25日 10:52:12   作者:微小冷  
C#提供了多種操作文件的方案,尤其是File類中封裝的靜態(tài)方法,本文將通過一些簡單的示例為大家講講C#讀寫文件的方法,需要的可以參考一下

C#提供了多種操作文件的方案,File類中封裝的靜態(tài)方法,接口封裝得比較人性化,隱藏了具體實現(xiàn)的細(xì)節(jié),主要包括讀取、寫入以及追加,這些函數(shù)如下

類別字節(jié)讀寫字符串列表字符串
讀取ReadAllBytesReadAllLinesReadAllTextReadLines
寫入WriteAllBytesWriteAllLinesWriteAllText
追加AppendAllLinesAppendAllTextAppendText

這些方法大部分都有其異步模式,以RaadAllBytes為例,其對應(yīng)的異步方法為ReadAllBytesAsync,即在后面加一個Async。

這些方法中,讀取操作需要至少輸入一個字符串,表示文件路徑,其返回值為字節(jié)數(shù)、字符串或者字符串列表;追加和寫入操作,至少需要輸入一個文件路徑以及將要寫入的內(nèi)容,根據(jù)函數(shù)類別不同,可以是字節(jié)數(shù)組、字符串或者字符串列表。

下面在頂級語句中,對這些函數(shù)做一些基礎(chǔ)的演示。

字節(jié)讀寫

ReadAllBytes和WriteAllBytes是用于讀寫字節(jié)數(shù)組的方法,

byte[] data = new byte[1024];
for (int i = 0; i < 1024; i++)
    data[i] = (byte)i;

???????File.WriteAllBytes("test.bin", data);

運行之后,將在運行目錄創(chuàng)建一個test.bin文件,接下來通過ReadAllBytes對其讀取。

data = File.ReadAllBytes("test.bin");
foreach (var d in data)
    Console.Write($"vvxyksv9kd, ");

其輸出結(jié)果為0-255的數(shù)字,類似下面這樣,這是在創(chuàng)建文件時,已經(jīng)把i轉(zhuǎn)換為了字節(jié),1個字節(jié)只有8位,最大值就是255。

...251, 252, 253, 254, 255, 0, 1, 2, 3, 4, 5...

字符串讀寫和追加

通過xxxAllText可以直接讀取文本文檔,這些函數(shù)提供了兩個重載,一種只需要輸入文件名和寫入內(nèi)容,另一種需要指定編碼方式。

File.WriteAllText("test.txt", "if u miss the train i'm on, ");
File.AppendAllText("test.txt", "u will know that i'm gone");
var s = File.ReadAllText("test.txt");
Console.WriteLine(s);

輸出結(jié)果為

if u miss the train i'm on, u will know that i'm gone

如果指定編碼方式,盡管對英文來說可能無所謂,但編碼不匹配,可能導(dǎo)致出現(xiàn)亂碼,示例如下

File.WriteAllText("test.txt", "桃李春風(fēng)一杯酒");
File.AppendAllText("test.txt", "江湖夜雨十年燈", Encoding.Unicode);

var s = File.ReadAllText("test.txt");
Console.WriteLine(s);

效果為

桃李春風(fēng)一杯酒_lVnY?ASt^op

字符串?dāng)?shù)組

xxxAllLines可以操作字符串?dāng)?shù)組,或以字符串為元素的其他可迭代對象。

string[] poem0 = new string[] { "我居北海君南海", "寄雁傳書謝不能" };
string[] poem1 = new string[] { "桃李春風(fēng)一杯酒", "江湖夜雨十年燈" };
File.WriteAllLines("lines.txt", poem0);
File.AppendAllLines("lines.txt", poem1);

var s = File.ReadAllLines("lines.txt");
foreach (var item in s)
    Console.WriteLine(item);

效果如下

我居北海君南海
寄雁傳書謝不能
桃李春風(fēng)一杯酒
江湖夜雨十年燈

到此這篇關(guān)于C# File類中的文件讀寫方法詳解的文章就介紹到這了,更多相關(guān)C#文件讀寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用C#開發(fā)OPC?Server服務(wù)器源碼解析

    使用C#開發(fā)OPC?Server服務(wù)器源碼解析

    OPC?Server服務(wù)器服務(wù)器的開發(fā)比較繁瑣,本示例采用C#提供了一種簡單快速實現(xiàn)OPCServer的方法,已經(jīng)在工程項目中應(yīng)用,本文對C#開發(fā)OPC?Server服務(wù)器相關(guān)知識給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-06-06
  • C#游戲開發(fā)之實現(xiàn)華容道游戲

    C#游戲開發(fā)之實現(xiàn)華容道游戲

    這篇文章主要為大家詳細(xì)介紹了C#如何實現(xiàn)經(jīng)典華容道游戲,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • C#實現(xiàn)微信公眾號會員卡管理的示例代碼

    C#實現(xiàn)微信公眾號會員卡管理的示例代碼

    這篇文章主要介紹了C#實現(xiàn)微信公眾號會員卡管理的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    c# AcceptEx與完成端口(IOCP)結(jié)合的示例

    這篇文章主要介紹了c# AcceptEx與完成端口(IOCP)結(jié)合的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#使用CallContext緩存線程數(shù)據(jù)

    C#使用CallContext緩存線程數(shù)據(jù)

    這篇文章介紹了C#使用CallContext緩存線程數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面

    C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面

    這篇文章主要為大家介紹了使用C#跨PC遠(yuǎn)程調(diào)用程序并顯示UI界面,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • C#中LINQ的Select與SelectMany函數(shù)使用

    C#中LINQ的Select與SelectMany函數(shù)使用

    這篇文章主要介紹了C#中LINQ的Select與SelectMany函數(shù)使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • C#獲取指定PDF文件頁數(shù)的方法

    C#獲取指定PDF文件頁數(shù)的方法

    這篇文章主要介紹了C#獲取指定PDF文件頁數(shù)的方法,涉及C#操作pdf文件的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • WPF實現(xiàn)動畫效果的入門教程

    WPF實現(xiàn)動畫效果的入門教程

    WPF是一種用于創(chuàng)建Windows客戶端應(yīng)用程序的UI框架,它讓我們能夠創(chuàng)建豐富的圖形界面,包括各種各樣的動畫效果,下面我們就來看看如何利用wpf實現(xiàn)簡單的動畫效果吧
    2023-09-09
  • 使用C#實現(xiàn)Windows組和用戶管理的示例代碼

    使用C#實現(xiàn)Windows組和用戶管理的示例代碼

    這篇文章主要介紹了使用C#實現(xiàn)Windows組和用戶管理的示例代碼,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-01-01

最新評論