【问题标题】:How to save a text file in Hard Disk using C#如何使用 C# 将文本文件保存在硬盘中
【发布时间】:2013-07-27 09:43:20
【问题描述】:

我正在为我的应用程序创建一个记录器,但遇到了一个问题,我需要将我的日志文件保存在我的 C 驱动器中,但是当我执行代码时,它给我一个错误“Given Path Format Is Not支持”我当前的代码如下

string path="C:\\Logger\\"+DateTime.Now.Date.ToString()+".txt";

    public void CreateDirectory()
    {
        if(!File.Exists(path))
        {
            File.Create(path);
        }
    }

有什么解决办法????

【问题讨论】:

  • 阿德尔所说的可能是在这里找到问题的关键。一般来说,如果遇到这样的情况,添加变量的实际内容会很有帮助。你试过调试你的代码吗?
  • 您可以将其留给 Enterprise Library 等框架。 stackoverflow.com/questions/1260157/…)

标签: c# .net io


【解决方案1】:

你将不得不格式化日期:

string path="C:\\Logger\\"+DateTime.Now.Date.ToString("yyyy_MM_dd")+".txt";

因为操作系统不会接受这样的事情:

C:\Logger\07/27/2013.txt

现在,为了将来参考,考虑使用Path.Combine 来构建您的路径:

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);
}

但即便如此,您也可能在运行时遇到权限问题。

【讨论】:

    【解决方案2】:

    检查以下结果:DateTime.Now.Date.ToString() 是否被操作系统接受。

    【讨论】:

    • 我将文件名更改为“C:\\Logger\\log.txt”但仍然无法正常工作
    • 不,我得到这个找不到路径'C:\Logger\log.txt'的一部分
    • 这个错误意味着目录“Logger”没有找到或者你没有权限。
    • 实际上我在管理员模式下使用 Visual Studio 仍然没有授予创建目录的权限这是什么原因
    猜你喜欢
    • 2015-12-28
    • 2011-08-20
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2011-05-26
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多