C#文本操作(2)

C#读取txt文本数据

------将数据在datagrid中显示

接着上一节的博客,读取文件仍然使用二进制读取文本方式,该读取方法需要注意文本中数据内容的格式,了解数据属于哪种类型,在数据读取时读字节流中的数据,根据数据的格式截取数据并存入到列表中。

1.扫描字节流时string类型
我使用的都是字符型,还可以使用int,double等

2如下则是将文本数据读入txt文件的主要代码:

private void Button_Click_7(object sender, RoutedEventArgs e)
        {
            
            time.Stop();
            int i = 0;
            string path = @"h:\\chartdata.txt";
            FileStream fs = File.OpenRead(path);
            BinaryReader sb = new BinaryReader(fs, Encoding.Default);
            fs.Seek(0, SeekOrigin.Begin);//将字节流当前位置设为指定位置
            customerTest.Clear();//将列表元素清空
            while(sb.PeekChar()>-1)//如果下一个不再为字符,结束扫描
            {
                Customer read_data =new Customer();
                read_data.Num = sb.ReadString().Trim();//截取一行中的一段string
                read_data.Temperature = sb.ReadString().Trim();
                read_data.Time = sb.ReadString().Trim();
                customerTest.Add(read_data);//将对象添加到列表中
            }
            datagrid.ItemsSource = customerTest;//绑定datagrid的数据
            MessageBox.Show("导入数据成功");//提示框
            sb.Close();
            fs.Close();
        }
    }

3.遇到问题:datagrid显示的数据并不如预期,控件行列的高宽改变了
在这里插入图片描述
解决方案:扫描字节流时将多余的空格也进行了保留,调用字符串的Trim()方法能够将首尾的空白字符清理
在这里插入图片描述如下是导入文件数据到datagrid的结果图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值