当前位置:  开发笔记 > 编程语言 > 正文

将文件路径存储为C#控制台应用程序的变量

如何解决《将文件路径存储为C#控制台应用程序的变量》经验,为你挑选了1个好方法。

我正在尝试创建一个生成日志文件的C#控制台应用程序.我想对日志文件的存储位置有一定的灵活性.

我尝试使用Settings.settings文件:

名称:logDrive类型:字符串作用域:应用程序值:C:\ Scripts\Logs

在我的代码中,我正在使用:

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:\ Scripts\ServiceDesk\Logs"logFile ="3-23-2009 1:20 PM.log"

有没有人对更好的方法和/或我做错了什么有任何想法/建议?



1> Daniel LeChe..:

您不能:在文件名中包含a .更好的方法可能是使用像这样的格式

YYYYMMDD_HHMMSS.log

(例如20090323_231245.log)

这具有易于排序的优点,并且不使用任何无效字符.

你可以使用它

string logFile = string.Format("{0:yyyyMMdd_HHmmss}.log", DateTime.Now);

笔记:

此外,正如评论中所建议的那样,您应该考虑使用Path.Combine组合目录和文件名.这将有助于缓解尾随路径分隔符等问题.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有