文件的目的是什么.如果不是路径验证,则存在



当我读到关于方法System.IO.File.Exists(string path)时,这句话让我感到困惑

Exists方法不应用于路径验证,此方法仅检查路径中指定的文件是否存在。

对我来说,"此路径中的文件存在"one_answers"文件的路径有效"这两句话几乎是同义词,所以我缺少了一些东西。什么为什么我不应该使用File.Exists()验证路径?

因为下一句话:

将无效路径传递给Exists会返回错误的

它通常总是生成一个异常。只是不是在File.Exists()的情况下:

   bool miracle = File.Exists(":::");

所以要小心,文件可能确实存在,但您可能只是弄丢了字符串。你不能说,没有任何例外会警告你这一点。

请记住,这不是File.Exists()问题的结束。您也不能信任true返回值。在多任务操作系统上运行代码的风险在于,文件可能会在一纳秒后被另一个进程删除。当然,这可能会导致一些非常令人困惑的崩溃:)为了完全避免它,只需尝试打开文件(这是原子文件),如果不存在异常,就可以捕获它。

如果路径语法不正确怎么办?Exists()将返回false,这意味着您现在可以创建该文件,但事实并非如此。

因为这是两件不同的事情。。。正如C Bauer所指出的,路径可以存在,但文件可能不存在。

如果路径不存在,将引发一个异常,但如果路径末尾的文件不存在,则将返回false,您可以在If语句中使用该值。如何使用它的一个例子是:

if(System.IO.File.Exists(path))
{
    //write to this file
}
else
{
    //create the file then write to it...
}

我一直在软件中使用它来记录文件,这样我就可以用一个函数来完成对文件的所有写入,第一次调用该函数时,它只会创建文件,然后写入。每隔一次,它就会在文件中添加行。

编辑:拼写

我认为这意味着。。。

如果文件存在于该路径中。。发现

如果该路径中不存在该路径。。。未找到

但如果文件不存在,并且您给出not OK…这并不意味着路径不存在。。。这意味着FILE不存在。。

您可以有路径,但不能有文件,并返回not FOUND

最新更新