C# 如何使用C在硬盘中保存文本文件#
我正在为我的应用程序创建一个记录器,我遇到了一个问题,我需要将日志文件保存在我的C驱动器中,但当我执行代码时,它会给我一个错误“不支持给定路径格式”我的当前代码如下所示C# 如何使用C在硬盘中保存文本文件#,c#,.net,io,C#,.net,Io,我正在为我的应用程序创建一个记录器,我遇到了一个问题,我需要将日志文件保存在我的C驱动器中,但当我执行代码时,它会给我一个错误“不支持给定路径格式”我的当前代码如下所示 string path="C:\\Logger\\"+DateTime.Now.Date.ToString()+".txt"; public void CreateDirectory() { if(!File.Exists(path)) { File.Cr
string path="C:\\Logger\\"+DateTime.Now.Date.ToString()+".txt";
public void CreateDirectory()
{
if(!File.Exists(path))
{
File.Create(path);
}
}
任何解决方案???检查操作系统是否接受此操作的结果:
DateTime.Now.Date.ToString()
。检查操作系统是否接受此操作的结果:DateTime.Now.Date.ToString()
。您必须格式化日期:
string path="C:\\Logger\\"+DateTime.Now.Date.ToString("yyyy_MM_dd")+".txt";
因为操作系统不会接受这样的内容:
C:\Logger\07/27/2013.txt
现在,为了将来的参考,考虑使用<代码>路径。结合来构建路径:
var path = Path.Combine("C:\\Logger",
DateTime.Now.Date.ToString("yyyy_MM_dd"),
".txt");
您不必确定何时提供反斜杠,何时不提供反斜杠。如果没有,它将附加给您
最后,如果目录不存在,您可能会遇到问题。您可以采取以下措施来缓解:
var path = ...
var dir = Path.GetDirectoryName(path);
if (!Directory.Exists(dir))
{
Directory.Create(dir);
}
但即使这样,您也可能在运行时遇到权限问题。您必须格式化日期:
string path="C:\\Logger\\"+DateTime.Now.Date.ToString("yyyy_MM_dd")+".txt";
因为操作系统不会接受这样的内容:
C:\Logger\07/27/2013.txt
现在,为了将来的参考,考虑使用<代码>路径。结合来构建路径:
var path = Path.Combine("C:\\Logger",
DateTime.Now.Date.ToString("yyyy_MM_dd"),
".txt");
您不必确定何时提供反斜杠,何时不提供反斜杠。如果没有,它将附加给您
最后,如果目录不存在,您可能会遇到问题。您可以采取以下措施来缓解:
var path = ...
var dir = Path.GetDirectoryName(path);
if (!Directory.Exists(dir))
{
Directory.Create(dir);
}
但即便如此,您也可能在运行时遇到权限问题。阿德尔所说的可能是找到问题的关键。一般来说,如果遇到这样的情况,添加变量的实际内容会很有帮助。你试过调试你的代码吗?你可以把它留给一个框架,比如企业图书馆。)阿德尔所说的可能是找到问题的关键。一般来说,如果遇到这样的情况,添加变量的实际内容会很有帮助。你试过调试你的代码吗?你可以把它留给一个框架,比如企业图书馆。)我将文件名更改为“C:\\Logger\\log.txt”,但仍然不工作。我得到的结果是找不到路径“C:\Logger\log.txt”的一部分。此错误表示目录“Logger”找不到或您没有权限。事实上,我正在管理模式下使用Visual studio,但仍然没有授予创建目录的权限。原因是什么?我将文件名更改为“C:\\Logger\\log.txt”,但仍然不工作。我收到了此消息,但找不到路径“C:\Logger\log.txt”的一部分。此错误表示目录找不到“Logger”,或者您没有权限访问它。实际上,我在管理模式下使用Visual studio,但它仍然没有授予创建目录的权限。这背后的原因是什么