我得到这个错误.即使我已经创建了一个文件夹"CMSExportedData"找不到路径'C:\ CMSExportedData\Sales-20\07\2012.txt'的一部分.
请帮忙
using (FileStream fs = new FileStream("C:\\CMSExportedData\\Sales-" + DateTime.Now.ToString("dd/MM/yyyy") + ".txt", FileMode.Create))
{
using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))
{
//use stream
}
}
Run Code Online (Sandbox Code Playgroud)
您将日期格式化为文件名的一部分,使日期分隔符为斜杠,并通过路径逻辑转换为反斜杠(路径分隔符):
'C:\ CMSExportedData \销售-20\07\2012.txt'.
没有Sales-20文件夹,也没有07文件夹.
解决方案:不要在文件名中使用路径分隔符:).此解决方案还将日期格式化为年 - 月 - 日,因为这会使文件名按时间顺序排序:
"C:\\CMSExportedData\\Sales-" + DateTime.Now.ToString("yyyyMMdd") + ".txt"
Run Code Online (Sandbox Code Playgroud)
文件名不能包含以下任何字符:
\ / : * ? " < > |
Run Code Online (Sandbox Code Playgroud)
显然,您的日期格式使用'/'是不允许的。建议可以使用“-”作为分隔符,这样您的文件将是:
C:\CMSExportedData\Sales-20-07-2012.txt
Run Code Online (Sandbox Code Playgroud)
为了完整起见,可以接受的非字母数字字符是:
^ Accent circumflex (caret)
& Ampersand
' Apostrophe (single quotation mark)
@ At sign
{ Brace left
} Brace right
[ Bracket opening
] Bracket closing
, Comma
$ Dollar sign
= Equal sign
! Exclamation point
- Hyphen
# Number sign
( Parenthesis opening
) Parenthesis closing
% Percent
. Period
+ Plus
~ Tilde
_ Underscore
Run Code Online (Sandbox Code Playgroud)