我正在编写一个用于作业分配的程序,该程序旨在从命令行获取两个程序参数。第一个是在文本文件中搜索的单词,第二个是要搜索的文件的文件路径。程序会查找单词,如果找到该单词,则会打印该单词在文件中的编号(即单词编号10)。
问题是当我输入两个参数时:
homework "C:\\Users\\louiz\\source\\repos\\File and exception hw\\File and
exception hw\\bin\\Debug\\File_for_homework_11_17"
我收到一个找不到文件的错误。 Visual Studio中的错误消息似乎表明由于某种原因文件路径的末尾有一个句点。
这段时间不属于我输入的文本的一部分(见下文)
下面是我的代码。在这一点上,我打算添加一个未找到的文件异常处理程序,并在未找到搜索到的单词时显示一条消息,这很简单。但我想确保可以先读取文件。我知道通过命令行完成这些操作可能不是最简单的方法,但这是分配所需要的。我似乎无法正常工作。任何建议将不胜感激。
class Program
{
static void Main(string[] args)
{
string line;
string lookFor = args[0];
int count = 0;
StreamReader f = new StreamReader(args[1]);
while((line = f.ReadLine()) != null)
{
String[] strings = line.Split(new char[]{' '});
if (strings[count] == lookFor)
{
Console.WriteLine("{0} was word number {1} in the file.", lookFor, count);
}
count++;
}
Console.WriteLine("{0}", args[1]);
Console.ReadLine();
}
}
答案 0 :(得分:0)
句点属于异常消息,您的字符串在此消息中以单引号引起来。
所以问题确实是找不到该文件。检查它是否确实存在。也许文件扩展名丢失了?有拼写错误吗?
此外,您不需要双斜杠,但它们不会造成伤害。