我陷入了一个愚蠢的错误,但我无法弄明白,你能帮我解决一下吗?
什么 我试图创建一个具有多种方法的类,这些方法将在给定的文本文件中执行许多不同的正则表达式。此文本文件从主程序传递到类。 然后,类通过实例化类中的每个对象来使用文本文件并执行我从主程序调用的每个正则表达式。
问题 当我传递文件时,我在类中创建了一个函数来计算文件的行数并循环遍历每行计算这种正则表达式匹配发生的次数。
//CountLines Function
static long CountLinesInFile(string f)
{
long count = 0;
using (StreamReader r = new StreamReader(f))
{
string line;
while ((line = r.ReadLine()) != null)
{
count++;
}
return count;
}
}
此CountLines函数将提供由对象循环的行,如:
private string configfile;
public string ConfigFile
{
get { return this.configfile; }
set { this.configfile = value; }
}
public void objects()
{
//Counting Object Group Network
int objCount = Lines(configfile)
.Select(line => Regex.Matches(line, @"object-group network").Count)
.Sum();
//Ending of Counting Object Group Network
}
来自主程序我试图调用该类并通过这样做得到结果:
Cisco newCisco = new Cisco();
newCisco.ConfigFile = richTextBox1.Text;
newCisco.objects();
我被困在using (StreamReader r = new StreamReader(f))
行的课程中,路径中有非法字符:
异常:抛出:"路径中的非法字符。" (System.ArgumentException) 抛出了System.ArgumentException:"路径中的非法字符。" 时间:2014年8月13日上午1:58:01 线程:主线程[1304]
我知道我犯了一个错误,但我可以找到,如果你能帮我找到解决这个问题的解决方案,我会很感激。
答案 0 :(得分:0)
您收到的错误很可能是由您尝试打开StreamReader的文件名引起的,我认为该文件名无效。如果检查它不能解决您的问题,请您发布您想要阅读的文件名吗?