我正在为我的应用程序创建一个记录器,我遇到了一个问题,我需要将我的日志文件保存在我的C驱动器中,但是当我执行代码时,它给我一个错误"给定路径格式不支持"我的目前的代码如下
string path="C:\\Logger\\"+DateTime.Now.Date.ToString()+".txt";
public void CreateDirectory()
{
if(!File.Exists(path))
{
File.Create(path);
}
}
Run Code Online (Sandbox Code Playgroud)
任何解决方案????
你将不得不格式化日期:
string path="C:\\Logger\\"+DateTime.Now.Date.ToString("yyyy_MM_dd")+".txt";
Run Code Online (Sandbox Code Playgroud)
因为操作系统不会接受这样的事情:
C:\Logger\07/27/2013.txt
Run Code Online (Sandbox Code Playgroud)
现在,为了将来参考,请考虑使用Path.Combine
构建路径:
var path = Path.Combine("C:\\Logger",
DateTime.Now.Date.ToString("yyyy_MM_dd"),
".txt");
Run Code Online (Sandbox Code Playgroud)
您不必确定何时提供反斜杠以及何时不提供反斜杠.如果没有,将为您追加.
最后,如果目录不存在,您可能会遇到问题.你可以做些什么来减轻这种情况:
var path = ...
var dir = Path.GetDirectoryName(path);
if (!Directory.Exists(dir))
{
Directory.Create(dir);
}
Run Code Online (Sandbox Code Playgroud)
但即使这样,您也可能在运行时遇到权限问题.