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的数据进行打印并未出现小框。读取数据时也没有出现类似小框。