创建包含日期的文件时出现.net NotSupportedException

时间:2012-01-05 13:07:27

标签: .net file datetime c++-cli notsupportedexception

我想创建一个带日期的文件。

DateTime time_now = DateTime::UtcNow;
String^  time_str = time_now.UtcNow.ToString();
String^  strPath = "C:\\Users\\Documents\\VS\\MyProject\\" + fileName + time_str + ".prc";

FileStream^  fs = File::Create(strPath); // in this line I get notSupportedException

我调试代码,文件名是:myfile05.01.2012 12:37:1222.prc

我认为问题是":" 我该如何解决?

2 个答案:

答案 0 :(得分:3)

我个人会替换“。”与 ”_” ;

strPath.Replace(".","_").Replace(":","_");

答案 1 :(得分:2)

用下划线替换每个无效字符:

private string GetValidPath(string _Path)
        {
            String goodPath = _Path;
            foreach (char letter in System.IO.Path.GetInvalidPathChars())
            {
                goodPath = goodPath.Replace(letter, '_');
            }
            return goodPath;
        }

如果您使用C ++ / CLI进行编程,则可以希望移植此C#代码。