保存文件路径为C#控制台应用程序变量
-
21-08-2019 - |
题
我试图创建一个C#控制台应用程序将生成一个日志文件。我想有一定的灵活性与其中的日志文件将被保存。
我尝试使用Settings.settings与文件:
名称:logDrive 类型:字符串 适用范围:应用 值:C:\脚本\日志
在我的代码,我使用:
string logFile = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
logFile = logFile.Replace(@"/", @"-").Replace(@"\", @"-") + ".log";
string logDrive = Properties.Settings.Default.logDrive;
StreamWriter output = new StreamWriter(logDrive + logFile);
当编译上述我得到的错误消息“给定路径的格式不支持。”
如果有帮助,为的值:
logDrive = “C:\脚本\的ServiceDesk \日志” 日志文件= “2009年3月23日1:20 PM.log”
有没有人有任何想法/一个更好的办法的建议和/或我在做什么错了?
解决方案
可以不包括在文件名中一个:
。一种更好的方法可能是使用像
YYYYMMDD_HHMMSS.log
(例如20090323_231245.log
)
这具有容易排序的权益,并且它不使用任何无效字符。
您可以用得到这个
string logFile = string.Format("{0:yyyyMMdd_HHmmss}.log", DateTime.Now);
备注:强>
此外,如在评论中建议,你应该考虑使用Path.Combine
到你的目录和文件名结合起来。这将有助于减轻与尾随路径分隔符等问题。
其他提示
您还需要一个结尾斜杠添加到您的“logDrive”。即:
logDrive = "C:\Scripts\ServiceDesk\Logs\"
..或使用Path.Combine的建议中的其他回答
不隶属于 StackOverflow