C#读取txt文件内容问题

ip=192.16.5.3ip=192.165.2.1IP=192.3.5.6aip=192.168.23.2ipl=192.163.1563iip=191.6.5.4这... ip=192.16.5.3
ip=192.165.2.1
IP=192.3.5.6
aip=192.168.23.2
ipl=192.163.1563
iip=191.6.5.4
这是我的a.txt文件里的内容
现在我只要找到所有“=”钱的内容为"Ip"那一行的内容并显示出来,
麻烦帮我指出我写的程序中的错误
FileStream fs = new FileStream("d:\\a.txt", FileMode.Open);

StreamReader m_streamReader = new StreamReader(fs);

m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);// 从数据流中读取每一行,直到文件的最后一行
string m = "ip";
string arry="";

//string[] line = new string[100];
//Console.WriteLine(a);
string strLine = m_streamReader.ReadLine();
string[] split = strLine.Split(new char[] { '=' });
string a = split[0];
// string n = a.Substring(0);

while(strLine!=null)
{
if (a == m)
{
arry += strLine + "\n";
strLine = m_streamReader.ReadLine();

}

}
Console.Write(arry);
Console.ReadLine();
展开
 我来答
飘流小岛
2011-04-22 · 超过72用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:171万
展开全部
FileStream fs = new FileStream("d:\\a.txt", FileMode.Open);

StreamReader m_streamReader = new StreamReader(fs);

m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);
string arry = "";
string strLine = m_streamReader.ReadLine();
do
{
string[] split = strLine.Split('=');
string a = split[0];
if (a.ToLower() == "ip")
{
arry += strLine + "\n";

}
strLine = m_streamReader.ReadLine();

} while (strLine != null && strLine != "");
m_streamReader.Close();
m_streamReader.Dispose();
fs.Close();
fs.Dispose();
Console.Write(arry);
Console.ReadLine();
如果你要大小写也要匹配的话把.ToLower() 去掉就行了
mawering
2011-04-22 · TA获得超过938个赞
知道小有建树答主
回答量:750
采纳率:0%
帮助的人:217万
展开全部
把这行strLine = m_streamReader.ReadLine();放到if(a == m){}的外面,然后在
这行后面加上

if (strLine != null)
{
split = strLine.Split(new char[] { '=' });
a = split[0];
}
你没给a重新赋值,还用原来的值,所以不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式