创建路径不存在的文件?

Ath*_*han 21 c# file path

我无法解决这个问题.我只能在路径存在的情况下使用File.Create... File.CrateText等创建文件.如果不是,我们不会写文件并返回错误.如何创建路径?

Skl*_*vvz 37

尝试

Directory.CreateDirectory(@"C:\MyApp\MySubDir\Data")
Run Code Online (Sandbox Code Playgroud)

http://www.devx.com/vb2themax/Tip/18678

  • 读!MSDN说:如果文件夹已经存在,CreateDirectory什么都不做. (10认同)

Ash*_*lam 18

鉴于您具有完整路径(文件夹+文件名),以下代码将确保您所需的目录路径存在(如果它尚不存在)

        FileInfo fileInfo = new FileInfo(fileFullPath);

        if (!fileInfo.Exists)
            Directory.CreateDirectory(fileInfo.Directory.FullName);


        //create the file ...
Run Code Online (Sandbox Code Playgroud)


har*_*shr 6

下面也应该工作

    FileInfo fileInfo = new FileInfo(fileFullPath);
    if (!fileInfo.Directory.Exists) fileInfo.Directory.Create()
Run Code Online (Sandbox Code Playgroud)

处理文件信息目录,而不是静态目录类


Llo*_*ell 5

您将需要首先创建目录。它将创建您发送路径中不存在的所有子目录。这是一个非常强大的功能。

Directory.CreateDirectory(filePath);
Run Code Online (Sandbox Code Playgroud)

如果您不知道目录是否存在,可以使用Directory.Exists。但不是这种情况,因为那将毫无意义。MSDN指出,如果目录当前存在,则CreateDirectory不执行任何操作。但是,如果出于其他原因要检查目录的存在,可以使用:

  if(Directory.Exists(folder) == false)
    {
    //do stuff  
    }
Run Code Online (Sandbox Code Playgroud)