C#文本操作(1)
------C#將數據寫入txt文本文件
爲了項目需要,最近學習了C#中的文件操作,C#中對文本文件的操作是通過StreamReader和StreamWriter兩個類提供的方法來實現的,對二進制文件的操作是通過BinaryReader和BinaryWriter兩個類提供的方法實現的。 我使用的是對二進制文件進行的操作,這種方式也比較方便,能夠顯示一定大小的文本,以及各種類型數據;在WPF應用程序中點擊按鈕觸發,將datagrid的數據保存到指定的txt文件中,並能夠通過按鍵觸發將txt文件中的數據導入到datagrid。1.下方是寫入文件的代碼
用的編譯器數VS2017,編譯時報錯文件格式不支持,後來找到了解決方案
將此處的path換成文件的絕對路徑不再報錯,不使用path傳參
private void Button_Click_6(object sender, RoutedEventArgs e)
{
time.Stop();
int i = 0;
string path =@"h:\chartdata.txt";//創建txt文件地址
foreach(Customer custome in customerTest)//將遍歷列表中的所有元素,並保存到結構體數組中
{
st[i].num =custome.Num;
st[i].value =custome.Temperature;
st[i].datetime = custome.Time.ToString();
i++;
}
if (File.Exists(path))//如果文件存在將刪除文件
File.Delete(path);
FileStream fs = File.OpenWrite(@"h:\chartdata.txt");//創建文件
BinaryWriter sb = new BinaryWriter(fs, Encoding.Default);//Default爲默認的字體編碼規則
for(int j=0;j<i;j++)//將結構體中的成員寫入文件中
{
sb.Write(st[j].num+"\t");//可以自由設置換行,空格
sb.Write(st[j].value+"\t");
sb.Write(st[j].datetime+"\r\n");
}
MessageBox.Show("導入成功");//設置提示框
sb.Close();
sb.Close();//關閉文件
}
寫入文件時遇到一個小問題,文件中在出現正方形,網上未找到解決方案,將寫入txt的數據進行打印並未出現小框。讀取數據時也沒有出現類似小框。