【问题标题】:How to get files from a directory with relative path "Directory.GetFiles(sPath) "如何从具有相对路径“Directory.GetFiles(sPath)”的目录中获取文件
【发布时间】:2014-01-28 06:10:54
【问题描述】:

我有一个目录的相对路径,例如“..\work\FilesDirectory”。如何从此目录中获取所有文件。 我目前正在使用以下代码行,但它需要绝对路径。

string []AllFiles = Directory.GetFiles(sPath);

【问题讨论】:

标签: c# visual-studio-2010


【解决方案1】:

您应该Path.Combine 构造绝对路径,或者您可以更改Current Directory 使相对路径指向您需要的位置。

// Building c:\my\home\work\FilesDirectory
var absolutePath = Path.Combine(@"c:\my\home\toys\", @"..\work\FilesDirectory" );

注意:您需要知道路径相对于哪个位置。 IE。如果它相对于可执行文件使用Assembly.GetEntryAssembly().Location 作为基本路径。

【讨论】:

    【解决方案2】:

    如果相对路径代表您的项目调试文件夹,那么您可以使用:

    string relativePath = AppDomain.CurrentDomain.BaseDirectory & "work\FilesDirectory"
    

    或者您也可以使用config 文件来保存路径并使用string.Join(),但最好使用Path.Combine

    【讨论】:

      【解决方案3】:

      您始终可以使用Directory.GetCurrentDirectoryDirectory.GetParent 方法。

      DirectoryInfo parentDirectoryInfo = System.IO.Directory.GetParent(System.IO.Directory.GetCurrentDirectory());
      string []AllFiles = Directory.GetFiles(parentDirectoryInfo.FullName);
      

      希望我能帮上忙!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-30
        • 2012-06-13
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        • 2023-04-05
        相关资源
        最近更新 更多