即使某些子目录不存在,如何创建文件?我知道这个Question and its answer表示我使用Directory.CreateDirectory(path)
来创建我的文件及其目录。
但是当我尝试使用Directory.CreateDirectory(path)
创建我的文件时,它会将文件创建为目录/文件夹而不是文件?
Directory.CreateDirectory (@"C:\Users\me\AppData\LocalLow\company\product\database.db");
为什么database.db
是文件夹而不是文件?难道我做错了什么? 即使某些子目录不存在,如何创建文件?
答案 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