不支持给定路径的格式。 c#discord bot

问题描述 投票:0回答:2

我一直在尝试让日志系统工作,文件记录到date.txt,其中date是实际日期。这就是我所拥有的

public void LogMessageToFile(string msg)
    {
        var date = DateTime.Now.Date.ToString("yyyy-MM-dd");
        string LogLine = System.String.Format(msg);
        string path = Path.Combine(date, ".txt");
            using (StreamWriter writer = File.AppendText(@"D:\Logs\" + path))
            {
                writer.WriteLineAsync(LogLine);
                writer.Close();
            }
    }

机器人说无法找到路径'D:\ Logs \ 2017-12-22.txt'的一部分。

c# .net discord.net
2个回答
1
投票

代码DateTime.Now.Date.ToString()将返回一个字符串,如“12/23/2017 12:00:00 AM”。你正在更换斜线,这是好的,但冒号仍然存在,而且这些是不允许的。

如果您尝试从日期创建文件名,我建议您使用不带任何分隔符的可排序日期格式,例如

var name = System.DateTime.Now.ToString("yyyyMMdd") + ".txt"

0
投票

我会替换这两行: var date = DateTime.Now.Date.ToString(); string name = (date).Replace('/' , '-'); ... with: var date = DateTime.Now.Date.ToString("yyyy-MM-dd");

您可以重新排序日期部分格式字符串(“yyyy”,“MM”,“dd”)。由于文件/文件夹排序很好,然后它们更容易使用,因此通常以年 - 月 - 日订购。

© www.soinside.com 2019 - 2024. All rights reserved.