即使某些子目录不存在,我如何创建文件?我知道这个Question and its answer这表明我使用 Directory.CreateDirectory(path)
来创建我的文件及其目录。
但是当我尝试使用 Directory.CreateDirectory(path)
创建我的文件时,它会将文件创建为目录/文件夹而不是文件?
Directory.CreateDirectory (@"C:\Users\me\AppData\LocalLow\company\product\database.db");
为什么 database.db
是文件夹而不是文件?难道我做错了什么? 即使某些子目录不存在,我如何创建文件?
最佳答案
您需要为 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
关于c# - 即使子目录不存在,如何创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24400867/