C#学习实记(文本文档导入 - )

来源:互联网 发布:1万左右的耳机 知乎 编辑:程序博客网 时间:2024/05/22 13:54
1、点击按钮,弹出选择文件对话框
OpenFileDialog(类)
2、对可以上传的文件类型进行限制
ofd.Filter="文本文件|*.txt"

3、判断是否选择了文件
ofd.ShowDialog()!=DialogResult.OK表示没选择任何文件

4、如何取得上传文件的文件名
string filename=cfd.FileName;

5、读取文本文件(把文件一次读到string集合中(内存中))
File.ReadLines(filename)

5、因为文本文件有很多行,所以将读出来的文本文件放到一个string类型的集合中
如何来定义string集合呢?
IEnumerable<string> Lines=File.ReadLines(filename);

6、通过上面的步骤已经获得了要上传的文件的数据集合 Lines,下面需要遍历这个集合Lines
每一行都要遍历
foreach(string line in lines)
如果上传的文本文件中,第一行是列头,则不能选折foreach,而应该选择for
IEnumerable<string> Lines=File.ReadLines(filename).;
//string[] lines=File.ReadLines(filename).ToArry();
for(int i=1;i<lines.count();i++)//表示跳过第0行,从第一行开始遍历读取;
{
string line=lines.ElementAt(i);
       //string line=lines.[i];
        string[] segs=Line.Split('|');//将一行数据根据“|”分割,将分割出来的部分组成一个集合
        string name=segs[0];//拿出第0部分,即张三
        string age=segs[1];//拿出第一部分,即25

}
7、根据文件
foreach(string line in lines)
{
//把“张三|25”按照“|”分割,
string[] segs=Line.Split('|');//将一行数据根据“|”分割,将分割出来的部分组成一个集合
string name=segs[0];//拿出第0部分,即张三
string age=segs[1];//拿出第一部分,即25
}

//乱码发生在文件保存和数据读取的编码不一致的情况下
//File.ReadLine没有第二个参数的重载是采用UTF-8编码格式
结果如下:



0 0