仅当文件不存在时,由用户给出的路径中的Createfile

时间:2016-06-10 12:39:30

标签: c# file directory

我正在尝试创建一个文件,只有当路径中存在的文件不存在且目录我猜路径也存在而且文件已经存在我不会让用户继续这样应用程序关闭。我试过这样做,但似乎当我给出位置它告诉我文件存在时它不存在。

this.path = @output;
      this.path2File = @output + "\\" + type + "tobearchived.txt";

if (!Directory.Exists(path) && !File.Exists(path2File))
      {
        File.Create(path2File);
      }
      else
      {
        Console.WriteLine("Error: File Already Exists. Press any key to exit.");
        Console.ReadKey();
        Environment.Exit(0);
      }
    }

2 个答案:

答案 0 :(得分:1)

您的IF状况似乎有问题,请尝试关注;

ml.getLatitude();
ml.getLongitude();

编辑:您的代码中的问题是,让我们说该目录存在,但文件不存在。然后'!Directory.Exists(路径)'是假的'并且它将跳过检查' File.Exists(path2File)'因为 AND 条件。 因此,控制将直接进入“其他”状态。部分代码。

答案 1 :(得分:0)

我试过这个并且对我很好。

 FileInfo Finfo;
 public bool StartLog(string path)
 {
      Finfo = new FileInfo(path);
      if (Finfo.Exists)
      {
          Finfo.Delete();
          FileWriter = Finfo.AppendText();                   
      }
      else
      {              
          FileStream fs = Finfo.Create();
          fs.Close();
          FileWriter = Finfo.AppendText();
      }
 }