日期:2014-05-18  浏览次数:20783 次

如何将一个文件创建在指定N层还没有创建的目录下?
我有一个文件,需要保存到指定位置,可是因为文件较多,导致有可能一些文件是在已经存在的目录下(这个没有问题),另外一些保存到一个N(N>=1)层的未创建的目录,请问这样怎么在保存文件之前,先创建指定的目录?或者有更好的办法,让他自动创建目录也可以。

我的代码:
public void oneByOneIn(string toPath)//这里的toPath假设为:C:\TEMP\A\B\C.TXT,其中A,B这2级目录是不存在的
  {
  //可能需要在这里加入创建目录的代码,可是有更简单的方法吗?
  FileStream NewFile = new FileStream(toPath, FileMode.Create, FileAccess.Write);
  StreamWriter NewStream = new StreamWriter(NewFile);
  NewStream.WriteLine(outfile);
  NewStream.Flush();
  NewStream.Close();
  NewFile.Close();
  }

------解决方案--------------------
创建目录示例:
DirectoryInfo di = new DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\子目录名");
if (!di.Exists)
{
di.Create();
}

不知道是否需要逐级创建,没有试过。