【问题标题】:Get folder by an absolute path [closed]通过绝对路径获取文件夹[关闭]
【发布时间】:2019-12-17 00:52:19
【问题描述】:

我有一个控制台应用程序(dotnet core)

        Console.WriteLine("Hello World!");
        string Folder = @"‪C:/Users/Admin/Desktop/local-folder";
        DirectoryInfo d = new DirectoryInfo(Folder);
        bool isExist = Directory.Exists(Folder);
        bool isExist2 = d.Exists;

问题是isExistisExist2 总是使用false,即使文件夹存在!

似乎每次都将文件夹路径视为相对路径。

那么我该如何解决这个问题?

谢谢,

【问题讨论】:

  • 可能是权限问题?
  • @Steve no :) 我有权访问,即使我使用另一个文件夹我也有同样的错误
  • 只是为了确保尝试使用 @"string Folder = C:/Users";结果如何?
  • 斜杠怎么样,C:\Users\... 而不是 C:/Users/...?
  • 我已经在 Notepad++ 中复制了您上面的路径,并以十六进制格式查看了它。 C字母前有一些看不见的字符。完全正确 e2 80 aa 尝试直接在代码上重写路径,而不是从其他来源复制它

标签: c# .net .net-core io


【解决方案1】:

您需要通过以下方式指定路径:

string Folder = @"‪C:\\Users\Admin\Desktop\local-folder"

在 .net core 2.2 应用程序中,以下输出对我来说是正确的:

string Folder = @"C:\\Users\ehsan.sajjad\Source\Repos\order-processor\Src";
System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(Folder);
bool isExist = System.IO.Directory.Exists(Folder); // true

【讨论】:

    【解决方案2】:

    您的代码似乎运行良好。唯一的问题是您的路径。如果您已复制它,请尝试自己重写路径。正如@steve 所提到的,您的路径中有一些不可见的字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 2015-09-09
      • 2011-08-30
      • 2012-04-24
      • 1970-01-01
      • 2019-01-17
      相关资源
      最近更新 更多