在我的C#Windows窗体应用程序中,我有日志数据。我把它们保存在一个文本文件中, 但我想用当前日期/时间的一些描述来命名这个文件。但是在调试代码时我遇到了这个错误:
不支持给定路径的格式。
这是我的代码:
string dateAndTime = " '' " + DateTime.Now.ToShortDateString() + "-" + DateTime.Now.ToShortTimeString() + " '' ";
string sPath = @"C:/Desktop/Logs - "+ dateAndTime + ".txt";
int type = 0;
using (StreamWriter sw = File.CreateText(sPath))
{
int J = 0;
for (int i = 0; i < logsList.Count; i++)
{
if (logsList[i + 3] == "IN")
{
type = 3;
}
else if (logsList[i + 3] == "OUT")
{
type = 4;
}
sw.WriteLine(logsList[i] + " " + logsList[i + 1] + " " + logsList[i + 2] + " " + logsList[i + 3] + " " + logsList[i + 4]);
i += 4;
}
}
答案 0 :(得分:5)
将此用于不带斜杠的格式
DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss");
ToShortDateString使用当前语言,这将导致不同的结果,具体取决于代码执行的机器
答案 1 :(得分:0)
您的文件名格式错误,操作系统将不支持此类文件名格式。
即:您的文件名包含/
和:
,这些是操作系统不支持命名文件的特殊字符。
这就是你收到错误
的原因不支持给定路径的格式。
另外我建议你不要使用像
" '' "
这样的特殊字符。在那里不需要它。
如果您希望此类文件名格式为C:/Desktop/Logs - 7-1-2015-3-45 PM.txt
,请使用以下代码。
有效文件名的示例代码:
string dateAndTime = DateTime.Now.ToShortDateString() + "-" + DateTime.Now.ToShortTimeString();
dateAndTime = dateAndTime.Replace('/', '-');
dateAndTime = dateAndTime.Replace(':', '-');