繁体   English   中英

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

[英]How to Create A File Even If Sub-Directories Dont Exist

即使某些子目录不存在,如何创建文件? 我知道这个问题及其答案 ,这表明我使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM