static void Main(string[] args)
{
string path = Console.ReadLine();
using (StreamReader sr = new Streamreader(path);
{
\\ do something with the file
}
}
嗨,我正在尝试允许用户将txt文件拖放到控制台中,让它读取路径,然后解析文件中的信息。
但是我得到了:
mscorlib.dll中出现未处理的“System.ArgumentException”类型异常
其他信息:路径中的非法字符。
当我运行我的代码时。我想我可以通过在使用之前格式化文件路径来解决它,但这似乎不是“预期的解决方案”。我失踪了吗?
感谢。
答案 0 :(得分:7)
将文件拖到控制台应用程序的.exe
文件时,该文件的路径将自动成为控制台应用程序的第一个参数。因此,如果存在,您可以从该参数获取路径。您还应该仔细检查参数是否包含路径(有效文件名),以防控制台应用程序从其他参数的命令行启动。
static void Main(string[] args)
{
if (args.Length > 0 && File.Exists(args[0]))
{
string path = args[0];
using (StreamReader sr = new StreamReader(path))
{
// do something with the file
}
}
}