关于读取文本文件的问题

小_虎 2008-03-16 06:10:46
string path = "Settings.txt";
string strToPath;
string strFromPath;
StreamReader sr = new StreamReader(path);
string strtext;

while ((strtext = sr.ReadLine()) != "")
{

try
{
results = strtext.Split('=');//这里会出错!!!!!!!!!!
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);// 弹出“未将对象引用设置到对象的实例”
}

if (str == results[0].ToString())//判断str与=号前的字符串是否相等
{
strFromPath = results[1].ToString();//得到=号后的字符串
//MessageBox.Show(strFromPath);
strToPath =str4;//str4是前面已经赋值的字符串

copyFolder(strFromPath, strToPath);//调用函数



现在关键是我的文本里有三行,而且第一行没有“=”号,
我希望不去读取它。

但是上面是用readline,一行一行读取的,所有第一行也读了,

但又因为使用了split“=",所以上面的那个results数组就出错了


我现在想实现上面的代码是从文本的第二行开始读取,忽略读取第一行。。

大家帮帮忙
...全文
101 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gs0038 2008-03-16
  • 打赏
  • 举报
回复
加为好友
发送私信
在线聊天
ericzhangbo1982111

等级:
发表于:2008-03-16 19:08:005楼 得分:0
strtext.indexof("=")> -1


这样好像比较好哦
想怎么变就怎么变
小_虎 2008-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 my22xo 的回复:]
你要跳过第一行的话,在循环之前执行一句
sr.ReadLine()

就跳过第一行了,然后再循环
[/Quote]
不是吧,这sr.readline()不是读当前一行的吧,
他是读所有的行吧??
骑蚊子旅游 2008-03-16
  • 打赏
  • 举报
回复
你要跳过第一行的话,在循环之前执行一句
sr.ReadLine()

就跳过第一行了,然后再循环
小_虎 2008-03-16
  • 打赏
  • 举报
回复
楼上和解???
ericzhangbo1982111 2008-03-16
  • 打赏
  • 举报
回复
strtext.indexof("=")>-1
liqngjun123 2008-03-16
  • 打赏
  • 举报
回复

sr.ReadLine(strtext);//简单的在大循环之前空调一次
sr.ReadLine(strtext);
while(strtext.CompareTo("") != 0)
{
}
小_虎 2008-03-16
  • 打赏
  • 举报
回复
上面是搞错了,应该是
string[] results=strtext.Split('=');
再去掉try catch

但是结果还是会出现:
未将对象引用设置到对象的实例


肯定是那文本的第一行使那results对象为空,才会出现这清况的

我现在是想要忽略读取第一行,就没事了

怎么实现呢???
yuanmanguo 2008-03-16
  • 打赏
  • 举报
回复
加个变量判断一下。

strtext.Split('='); 的时候,strtext没有 '=' 也不会出错啊!
mohugomohu 2008-03-16
  • 打赏
  • 举报
回复

results = strtext.Split('=');//这里会出错!!!!!!!!!!
string results=strtext.Split('=');

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧