隐藏

C# 按行读取txt记事本文件

发布:2021/4/9 11:26:19作者:管理员 来源:本站 浏览次数:1126

记事本中存储了学生名单,一行写一个学生姓名

通过FileStream、StreamReader来读取记事本文件,将读取的内容存放到DataTable中


    /// <summary>
    /// DataTable显示选择的学生名单
    /// </summary>
    /// <returns></returns>
    public static DataTable StuList()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("学生姓名");
        string sFilePath = string.Empty;
     
         学生名单的路径
        sFilePath = Parameters.g_sStuListPath + frm.cblClass.SelectedItem;
     
         判断学生名单是否存在
        if (!File.Exists(sFilePath))
        {
            MessageBox.Show("该学生名单文件不存在,请检查是否有误。");
            return dt;
        }
     
        string sStuName = string.Empty;
        FileStream fs = new FileStream(sFilePath, FileMode.Open);
         "GB2312"用于显示中文字符,写其他的,中文会显示乱码
        StreamReader reader = new StreamReader(fs, UnicodeEncoding.GetEncoding("GB2312"));
     
         一行一行读取
        while ((sStuName = reader.ReadLine()) != null)
        {
            sStuName = sStuName.Trim().ToString();
            DataRow dr = dt.NewRow();
            dr["学生姓名"] = sStuName;
            dt.Rows.Add(dr);
        }
     
        m_dtStu = dt;
        
         关闭文件流
        fs.Close();
        return dt;
    }