在 C# 中找不到创建的目录 [重复]
Posted
技术标签:
【中文标题】在 C# 中找不到创建的目录 [重复]【英文标题】:Cannot find created directory in C# [duplicate] 【发布时间】:2013-06-17 02:53:16 【问题描述】:我使用:
public const string WbPlanDirPath = "\\SavedWbPlans";
if (!Directory.Exists(WbPlanDirPath))
System.IO.Directory.CreateDirectory(WbPlanDirPath);
创建一个目录。虽然,它似乎工作正常(没有抛出异常)我在文件系统的任何地方都找不到文件夹/目录。我是不是做错了什么?
【问题讨论】:
尝试打印您创建的目录的路径。 您也可以使用(new DirectoryInfo(WbPlanDirPath)).FullName
通过控制台/消息框打印目录
【参考方案1】:
它应该在当前目录的卷的根级别上创建。检查Environment.CurrentDirectory
。
【讨论】:
【参考方案2】:这是在当前工作目录的卷根目录之外的\SavedWebPlans
中创建一个目录。
【讨论】:
【参考方案3】:"\\SavedWbPlans"
请注意开头的反斜杠。在 Windows 中的路径上下文中,这指的是驱动器的 root。
因此,目录很可能创建在驱动器的根目录,具体取决于工作目录的位置。
例如,如果工作目录是D:\Somewhere\in\the\drive\
,它将被创建为D:\SavedWbPlans
。
如果您尝试在程序所在的同一目录中创建目录,请改用以下代码:
string directory_of_program = Path.GetDirectoryName(Application.ExecutablePath);
string WbPlanDirPath = Path.Combine(directory_of_program, "SavedWbPlans");
if (!Directory.Exists(WbPlanDirPath))
System.IO.Directory.CreateDirectory(WbPlanDirPath);
【讨论】:
解释清楚!【参考方案4】:它与您的程序位于同一父目录(包含您的程序的目录)中。
而不是"\\SavedWbPlans";
使用"SavedWbPlans";
这会将它保存在当前目录中(与您的程序相同的目录)
【讨论】:
【参考方案5】:CreateDirectory
返回一个指向已创建目录的DirectoryInfo
对象。
检查它的属性以找出它是在哪里创建的。
【讨论】:
以上是关于在 C# 中找不到创建的目录 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Eclipse Mars 中找不到 Tomcat 运行时 [重复]
在 c# (linux) 中找不到 PrivateFontCollection 错误