如何跳过第一行开始阅读从第二行的文件在C# [英] How to skip first line and start reading file from second line in C#

查看:805
本文介绍了如何跳过第一行开始阅读从第二行的文件在C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何开始从第二行读取文件时跳过第一行。这似乎是工作,但它是这样做的最佳方式?



 使用(StreamReader的SR =新的StreamReader(varFile,Encoding.GetEncoding (1250))){
的String [] = stringSeparator新的字符串[] {\,\};
INT I = 0;
,而(sr.EndOfStream!){
串线= sr.ReadLine(); // TRIM('');
如果(我大于0){
的String []值= line.Split(stringSeparator,StringSplitOptions.None);

对于(INT指数= 0;指数 - LT; values​​.Length;指数++){$​​ b
$ b MessageBox.Show(值[指数] .Trim(''));
}
}
I ++;
}
}


解决方案

如果该文件不是很大,可以放在内存:

 的foreach(在File.ReadAllLines VAR线(varFile,Encoding.GetEncoding (1250))跳过(1))
{
的String []值= line.Split('')。

}

如果不写迭代器:

 公开的IEnumerable<串GT; ReadAllLines(字符串文件名,编码编码)
{
使用(VAR读者=新的StreamReader(文件名,编码))
{
串线;
,而((行= reader.ReadLine())!= NULL)
{
收益率的回报线;
}
}
}



,然后使用它:

 的foreach(在ReadAllLines VAR线(varFile,Encoding.GetEncoding(1250))。跳过(1))
{
串[]值= line.Split(,);

}


How to start reading file from 2nd line skipping 1st line. This seems to work but is it best way to do so?

            using (StreamReader sr = new StreamReader(varFile, Encoding.GetEncoding(1250))) {
                string[] stringSeparator = new string[] { "\",\"" };
                int i = 0;
                while (!sr.EndOfStream) {                    
                    string line = sr.ReadLine(); //.Trim('"');
                    if (i > 0) {
                        string[] values = line.Split(stringSeparator, StringSplitOptions.None);

                        for (int index = 0; index < values.Length; index++) {

                            MessageBox.Show(values[index].Trim('"'));
                        }
                    }
                    i++;
                }
            }

解决方案

If the file is not very large and can fit in memory:

foreach (var line in File.ReadAllLines(varFile, Encoding.GetEncoding(1250)).Skip(1))
{
    string[] values = line.Split(',');
    ...
}

If not write an iterator:

public IEnumerable<string> ReadAllLines(string filename, Encoding encoding)
{
    using (var reader = new StreamReader(filename, encoding))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
            yield return line;
        }
    }
}

and then consume it:

foreach (var line in ReadAllLines(varFile, Encoding.GetEncoding(1250)).Skip(1))
{
    string[] values = line.Split(',');
    ...
}

这篇关于如何跳过第一行开始阅读从第二行的文件在C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆