关于文件路径和打开这些文件 C# 的问题

Question about File Paths and opening those files C#

我有三个字符串分别使用“DateTimeNow”设置为当前:年、月、日。并且我通过从桌面上的文本文件中获取文件路径来设置名为“Custom_project”的根文件夹字符串的路径。

他们的名字是:

public string CurrentYear;
public string CurrentMonth;
public string CurrentDay;
public string CustomOrderFilePathTopFolder = File.ReadAllText("C:/desktop/Custom_project.txt");
//CustomOrderFilePathTopFolder now ='s C:/desktop/Custom_project/

好的,所以我正在尝试检查文件夹是否存在(文件夹名为:“CurrentYear”,在本例中为“2020”,位于:“Custom_project”文件夹内),如果不存在,则创建带有字符串的文件夹,如果它确实存在,那么它将继续我的下一步,这实际上是打开文件:“CurrentYear”或“2020”,然后在该文件夹内重复相同的操作:Custom_project/2020,一个月,最后一天重复一次。

所以最后我会有一个看起来像这样的文件路径:“C:/desktop/Custom_project/2020/07/12”。

现在回答我的问题: “我该如何检查自定义路径文件夹中是否存在名为“2020”的文件,如果不存在,则创建该文件夹

我刚刚尝试使用这个(这似乎不起作用):

        if (CustomOrderFilePathTopFolder == "")
        {
            MessageBox.Show("ERROR FILE PATH CANNOT BE EMPTY!");
        }
        else if (!Directory.Exists(CustomOrderFilePathTopFolder + CurrentYear))
        {
            Directory.CreateDirectory(CustomOrderFilePathTopFolder + CurrentYear);
        }

这对我没有任何帮助,所以我尝试了这个:

        if (CustomOrderFilePathTopFolder == "")
        {
            MessageBox.Show("ERROR FILE PATH CANNOT BE EMPTY!");
        }
        else if (!Directory.Exists(CustomOrderFilePathTopFolder + "/" + CurrentYear))
        {
            Directory.CreateDirectory(CustomOrderFilePathTopFolder + "/" + CurrentYear);
        }

也不起作用,所以我很茫然请告诉我如何解决这个问题,非常感谢!

尝试以下步骤

  • 你需要先combine path指向正确的file/folder

  • 是否勾选File exists

  • 如果没有,则 create folder 同名。

    using System.IO;
    ...
    
    var filePath = Path.Combine(CustomOrderFilePathTopFolder, CurrentYear))
    if (!File.Exists(filePath))
    {
        Directory.CreateDirectory(filePath);
    }