即使子目录不存在,如何创建文件

时间:2014-06-25 05:32:10

标签: c# file-io

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

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

enter image description here

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

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

1 个答案:

答案 0 :(得分:6)

您需要指定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