【问题标题】:How to Create A File Even If Sub-Directories Dont Exist即使子目录不存在如何创建文件
【发布时间】:2014-08-15 13:20:30
【问题描述】:

即使某些子目录不存在,如何创建文件?我知道这个Question and its answer 建议我使用Directory.CreateDirectory(path) 来创建我的文件及其目录。

但是当我尝试使用 Directory.CreateDirectory(path) 创建文件时,它会将文件创建为目录/文件夹而不是文件?

Directory.CreateDirectory (@"C:\Users\me\AppData\LocalLow\company\product\database.db");

为什么database.db 是文件夹而不是文件?难道我做错了什么? 即使某些子目录不存在,如何创建文件?

【问题讨论】:

  • 您的问题与您链接的问题相同,但您使用的是完整文件名而不是文件夹名称。
  • 公平地说,这个问题是标记问题的重复,但 OP 抱怨接受的答案没有解决他们的问题是正确的。
  • 再三考虑,我重新打开了。问题的 title 重复;问题本身显然是对另一个已接受答案的后续行动。

标签: c# file-io


【解决方案1】:

您需要指定CreateDirectory 方法的目录 路径,而不是完整的文件路径。您可以使用 GetDirectoryName 从完整路径中提取它:

string filePath = @"C:\Users\me\AppData\LocalLow\company\product\database.db";
string dirPath = Path.GetDirectoryName(filePath);   
                 // gives @"C:\Users\me\AppData\LocalLow\company\product"

Directory.CreateDirectory(dirPath);
File.Create(filePath);   // can use any file API call here, such as File.Open

【讨论】:

    猜你喜欢
    • 2011-04-28
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2015-05-10
    • 2014-02-07
    相关资源
    最近更新 更多