【问题标题】:Getting Error while creating file in C#在 C# 中创建文件时出现错误
【发布时间】:2017-06-02 09:00:40
【问题描述】:

在文件名中使用字符串变量作为当前时间时,创建文件时出现错误。错误为

发生了“System.NotSupportedException”类型的未处理异常 在 mscorlib.dll 中

附加信息:不支持给定路径的格式。

我找不到代码有什么问题,我尝试不使用“路径”变量,它会成功运行。当我使用“cTime”变量创建动态文件名时,我不明白发生了什么。

static void Main(string[] args)
        {
            string path = @"C:\\Reminder_Logs\\";
            string cTime = DateTime.Now.ToString("HH:mm").Trim();
            using (StreamWriter srRun = File.AppendText(path + "log_Reminder_" + cTime + ".txt"))
            {
                using (StreamWriter sr = File.AppendText(path + "log_Start.txt"))
                {
                    sr.WriteLine("reminder file  created!!! " + DateTime.Now.ToString("HH:mm"));
                }
            }

        }

【问题讨论】:

  • 路径中不能使用冒号
  • 如果你使用@,你只需要一个斜线
  • 你的路径应该是这样的:@"C:\Reminder_Logs\"
  • 但是当我删除“cTime”变量时一切正常..
  • 按照 Romano 的建议,你不能使用冒号试试这个string cTime = DateTime.Now.ToString("HH_mm").Trim();

标签: c#


【解决方案1】:

: 字符不能用于文件名,请使用

string cTime = DateTime.Now.ToString("HHmm").Trim(); 为例。

【讨论】:

    【解决方案2】:

    你的代码中的问题是,路径包含:你可以试试这个

    string cTime = DateTime.Now.ToString("HH.mm").Trim();
    

    【讨论】:

      【解决方案3】:

      : 文件路径中不接受字符 path.getinvalidfilenamechars() 给出文件路径中的所有无效字符

      【讨论】:

        猜你喜欢
        • 2019-08-27
        • 1970-01-01
        • 2020-10-09
        • 2015-07-07
        • 1970-01-01
        • 2013-01-22
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多