3

对此可能有一个简单的答案,但是当我添加到我的文件名时,它会为我所拥有的DateTime.Now.ToString()每个 \ 添加一个额外的 \,这会导致文件无法保存。C:\TempC:\\Temp

这是有问题的代码

String fileName = @"C:\Temp\data_" + DateTime.Now.ToString() + ".txt";

例如输出可能是C:\\Temp\\data_12/04/2012 20:08:40.txt

它应该是C:\Temp\data_12/04/2012 20:08:40.txt

4

5 回答 5

10

不,那个字符串真的有一个反斜杠。把它打印到控制台,你会看到的。

如果您在调试器中查看它,您会看到反斜杠已转义 - 但字符串本身有单个反斜杠。这咬了很多人:(

于 2012-04-12T19:29:15.327 回答
9

实际上,文件名中的正斜杠是非法的。用合法的东西替换正斜杠,然后重试。

于 2012-04-12T19:30:01.003 回答
0
String fileName = String.Format(@"C:\Temp\data_{0}.txt",DateTime.Now.ToString("ddMMyyyyHHmmss"));

输出:C:\Temp\data_12042012214358.txt

或使用

String fileName = String.Format(@"C:\Temp\data_{0}.txt", DateTime.Now.ToString("dd.MM.yyyy HH-mm-ss"));

输出:C:\Temp\data_12.04.2012 21-45-03.txt

于 2012-04-12T19:32:04.323 回答
0

尝试设置格式:

String fileName = @"C:\Temp\data_" + DateTime.Now.ToString("MM d HH mm yyyy") + ".txt";
于 2012-04-12T19:32:28.837 回答
0

实际上,它在变量值中显示了两个反斜杠,因为 \ 被转义了。如果您打印变量值,您应该会看到它只有一个反斜杠。

于 2012-04-12T19:34:57.140 回答