C#文本操作

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的数据进行打印并未出现小框。读取数据时也没有出现类似小框。
在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章