【发布时间】:2019-06-13 06:04:54
【问题描述】:
我有一个基于 CSV 文件批量创建目录的程序。它通过循环运行,但随后遇到“路径中的无效字符” .
StreamWriter sw = new StreamWriter(targetdir + "log.txt");
try
{
string[] items = File.ReadAllLines(csv);
foreach (string item in items)
{
Directory.CreateDirectory(targetdir + item);
sw.WriteLine(item + " OK!");
}
MessageBox.Show("Done");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
sw.Close();
我不知道从哪里开始。我觉得我必须添加一个“如果其他”,但我不知道该放什么。提前致谢。
【问题讨论】:
-
Path.GetInvalidPathChars()可能是一个很好的起点:) -
你的朋友是 Path 类
-
使用调试器查看
targetdir + item是否是有效路径——尤其是因为它来自其他地方!另外,不要使用字符串连接,而是使用Path.Combine创建文件路径名 -
targetdir + item的确切值是多少?(targetdir + item).Length? -
and if it's invalid -reports it in a log file这不是一个很好的 解决方案,但是基于您当前结构的简单解决方案是将日志记录添加到您的catch中。另外,请阅读Path.Combine。