C#里怎么在文本文件里按行读取数据

就是说有个文本,里面有数据,但是格式上可能会有些行是说明性的就像问题这样,前两行是说明,然后数据在下面123456723456783456789然后又有说明性的文字,再来... 就是说有个文本,里面有数据,但是格式上可能会有些行是说明性的

就像问题这样,前两行是说明,然后数据在下面
1 2 3 4 5 6 7
2 3 4 5 6 7 8
3 4 5 6 7 8 9
然后又有说明性的文字,再来点数据
9 8 7 6 5 4 3
那么我想按行依次读取第三行(1-7那行),第四行(2-8),第五行(3-9)什么的
该怎么写啊,readline好像只能读取一行啊,怎么定位到某一行
展开
 我来答
du瓶邪
2015-08-10 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2906万
展开全部
private void Form1_Load(object sender, EventArgs e)
{
int j=0;
label1.Text= FileRowText(@"c:\update.dat",2, ref j);
}

#region 获取文本某行数据
///
/// 获取文本文件某行数据
///
/// 文本文件路径
/// 第几行
/// 返回总行数
///
private string FileRowText(string filePath,int i, ref int j)
{

StreamReader sr = File.OpenText(filePath);
string str = "";
string text = "";
int num = 0;
while ((str = sr.ReadLine()) != null)
{
num++;
if (num == i)
{
text = str;
}
}
j = num;
sr.Close();
return text;
}
#endregion
欲为浪子
2013-10-10
知道答主
回答量:18
采纳率:0%
帮助的人:12.5万
展开全部
再读取数据的循环外定义一个变量,里面变量++,即判断每隔2行才读取一些数据。如果数据格式是有规律的话,还可以用正则表达式来判断。
追问
我的意思就是怎么样才可以跳过几行来读数据
追答
如果你的注释长度是固定的,而且之后的数据也是固定的,那么可以
int i=0;
while(reader.Read())
{
i+=i;
if(i>你要跳的行数)
{
读数据
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fe6238841
2013-10-10 · TA获得超过2025个赞
知道小有建树答主
回答量:4233
采纳率:25%
帮助的人:457万
展开全部
StreamReader sr=new StreamReade("文件名");
string s=sr.ReadLine();
while(s !=null)
{
s=sr.ReadLine();//读取每行
}
更多追问追答
追问
这个是什么原理,怎么实现读某一行的
追答
这个采用字符流读取模式了 那个函数是字符流自带的行读取功能
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式