C# FileStream讀寫(xiě)的文本操作代碼分析
FileStream對(duì)象表示在磁盤(pán)或網(wǎng)絡(luò)路徑上指向文件的流。
可以使用FileStream 類(lèi)對(duì)文件系統(tǒng)上的文件進(jìn)行讀取、寫(xiě)入、打開(kāi)、關(guān)閉等。
廢話不說(shuō),開(kāi)始操作。
1.拖好控件、必須滴,將除了要寫(xiě)文件的文本框外,其他的文本框的 ReadOnly 屬性均設(shè)為 True !

2.開(kāi)始"選擇文件"操作
privatevoid btnReadChoose_Click(object sender, EventArgs e)
{
//創(chuàng)建 打開(kāi)文件 對(duì)話框,可以直接拖控件哈。。
OpenFileDialog ofd=new OpenFileDialog();
//將文件路徑顯示在文本框
if (ofd.ShowDialog() == DialogResult.OK)
{
txtReadPath.Text = ofd.FileName;
}
}
效果圖。。。路徑就顯示出來(lái)了。

3.開(kāi)始"讀出"操作,并將文本內(nèi)容顯示在文本框.
其中先寫(xiě)出一個(gè)顯示“溫馨提示”消息的方法
#region 顯示溫馨提示的消息+void MsgShow(string Msg)
///<summary>
/// 顯示溫馨提示的消息
///</summary>
///<param name="Msg">消息</param>
void MsgShow(string Msg)
{
lbResult.Text ="溫馨提示:"+Msg;
}
#endregion
讀出操作
privatevoid btnReadFile_Click(object sender, EventArgs e)
{
//創(chuàng)建文件流、流操作要進(jìn)行異常處理,并以u(píng)sing來(lái)釋放對(duì)象
try
{
using (FileStream fs =new FileStream(txtReadPath.Text, FileMode.Open))
{
//定義緩存區(qū),3M 大小
byte[] arrFileData =newbyte[1024*1024*3];
//讀文件 存在 arrFileData 中
fs.Read(arrFileData, 0, arrFileData.Length);
//轉(zhuǎn) 編碼格式 以便顯示在 文本框 txtReadMsg 中
string ChangeToString = Encoding.Default.GetString(arrFileData);
txtReadMsg.Text = ChangeToString;
MsgShow("文本讀取成功!!!");
}
}
catch (Exception ex)
{
MessageBox.Show("異常:"+ ex.Message);
}
}
效果圖:

4.開(kāi)始"寫(xiě)入"操作,選擇文件就不累贅了,差不多.
privatevoid btnWriteFile_Click(object sender, EventArgs e)
{
//獲取要寫(xiě)入文本的數(shù)據(jù)
string strWriteData = txtWriteMsg.Text;
try
{
using (FileStream fs =new FileStream(txtWritePath.Text, FileMode.Create))
{
//轉(zhuǎn)為二進(jìn)制寫(xiě)入文本
byte[] arrWriteData = Encoding.Default.GetBytes(strWriteData);
//fs.Write(數(shù)據(jù)緩存區(qū),從第幾個(gè)byte開(kāi)始寫(xiě),寫(xiě)多少個(gè))
fs.Write(arrWriteData, 0, arrWriteData.Length);
MsgShow("寫(xiě)入文本成功!!!");
}
}
catch (Exception ex)
{
MessageBox.Show("異常:"+ ex.Message);
}
效果圖:

就這么滴,一個(gè)基于文件流FileStream的文本寫(xiě)入、讀取小程序就完工了。主要是自己總結(jié),更深一步了解流操作的過(guò)程,所以分享此文!
相關(guān)文章
C#模擬http 發(fā)送post或get請(qǐng)求的簡(jiǎn)單實(shí)例
C# [ImportDll()] 知識(shí)小結(jié)
C# 實(shí)現(xiàn)與現(xiàn)有.NET事件橋接簡(jiǎn)單實(shí)例
利用WPF窗口程序設(shè)計(jì)簡(jiǎn)單計(jì)算器
Unity相機(jī)移動(dòng)之屏幕邊緣檢測(cè)

