在 C# 中处理文件输入输出时,可能会出现各种异常,但当我们尝试访问程序中的文件并且该文件不存在或被删除时,会引发 FileNotFoundException。因此,基本上,当我们在系统中拥有文件的地址,但当我们执行程序时,找不到我们提到或传递的文件时,就会发生 FileNotFound 异常。找不到此文件的原因可能有多种。该文件可能已从该位置删除,或者文件名可能已更改且与我们提到的名称不匹配。也有可能当我们传递了错误的地址,当它命中该地址时,没有文件,从而发生异常。
语法:
每个方法、类或异常都有其标准语法。
如果出现 FileNotFound 异常,标准语法如下:
public class FileNotFoundException :System.IO.IOException
FileNotFound 异常是 IOException 的一部分,IOException 继承自 SystemException,向上到 Exception 和 Object 类。
下面给出了提到的示例:
代码:
using System; using System.IO; class Program { static void Main() { try { using (StreamReaderfilereader = new StreamReader("nofile.txt")) { filereader.ReadToEnd(); } } catch (FileNotFoundException ex) { Console.WriteLine(ex); } } }
说明:
输出:
这里我们将执行与上面代码类似的代码,但没有任何 try catch 块,这将是一个简单的程序,我们无法猜测到底会出现什么问题。
代码:
using System.IO; using System; class Program { static void Main() { using (StreamReaderfilereader = new StreamReader("incorrectfilename.txt")) { filereader.ReadToEnd(); } } }
说明:
输出:
正如您所看到的,与我们之前的示例不同,这是一个未处理的异常,并且输出符合预期。
就像任何其他异常一样,这个 FileNotFound 异常是可以避免的。在我们可以用来避免此异常的方法中,建议使用 File.Exists 方法。当我们不确定传入参数的文件在源链接中是否不可用时,最好使用 File.Exists 方法。推荐使用 File.Exists 方法。
示例:
我们将在程序中使用 File.Exists 方法,看看如何进一步使用它。
代码:
using System.IO; using System; class Program { static void Main() { bool ifexists = File.Exists("incorrectfilename.txt"); Console.WriteLine("\n "+ifexists); } }
说明:
输出:
总而言之,FileNotFound 异常来自对象类的 IO 系统命名空间。 FileNotFoundException 是在我们传递文件或尝试对文件执行输入或输出操作但该文件不存在时发生的。其他原因可能是文件名不正确或源链接不正确。可以使用 File Exists 方法来避免此异常。
以上是C# FileNotFoundException的详细内容。更多信息请关注PHP中文网其他相关文章!