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好像只能读取一行啊,怎么定位到某一行 展开
就像问题这样,前两行是说明,然后数据在下面
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好像只能读取一行啊,怎么定位到某一行 展开
3个回答
展开全部
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
{
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
展开全部
再读取数据的循环外定义一个变量,里面变量++,即判断每隔2行才读取一些数据。如果数据格式是有规律的话,还可以用正则表达式来判断。
追问
我的意思就是怎么样才可以跳过几行来读数据
追答
如果你的注释长度是固定的,而且之后的数据也是固定的,那么可以
int i=0;
while(reader.Read())
{
i+=i;
if(i>你要跳的行数)
{
读数据
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
StreamReader sr=new StreamReade("文件名");
string s=sr.ReadLine();
while(s !=null)
{
s=sr.ReadLine();//读取每行
}
string s=sr.ReadLine();
while(s !=null)
{
s=sr.ReadLine();//读取每行
}
更多追问追答
追问
这个是什么原理,怎么实现读某一行的
追答
这个采用字符流读取模式了 那个函数是字符流自带的行读取功能
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询