FileNotFoundException in File.AppendAllText
本文关键字:AppendAllText File in FileNotFoundException | 更新日期: 2023-09-27 17:56:54
我正在从msdn读取File.AppendAllText
方法
http://msdn.microsoft.com/en-us/library/ms143356.aspx
我看到他们已经列出了该方法可能的例外列表FileNotFoundException
但根据同一页面上关于方法的描述
打开一个文件,将指定的字符串追加到该文件,然后关闭该文件。 如果文件不存在,此方法将创建一个文件, 将指定的字符串写入文件,然后关闭该文件。
这部分
如果该文件不存在,此方法将创建一个文件
似乎永远无法为此方法抛出此异常。
如果你看一下 Mono 的实现(它与 Microsoft 的实现兼容),File.AppendAllText
最终所做的(除了参数检查)就是用你的路径创建一个StreamWriter
并在该对象上调用Write
。
据我所知,使用的构造函数和方法都没有在任何地方列出以抛出FileNotFoundException
,因此这可能是文档错误。
这个线程可能很旧,但上面一个人组给出的正确答案被其他人忽略了。事实是FileNotFoundException不是拼写错误。它存在,我明白了。原因在异常消息中,如下所示:"找不到部分路径"。如前所述,如果文件不存在,File.AppendAllText 将打开该文件,但它必须具有有效的路径。
我遇到了同样的问题。问题是我提供的路径不可用。
AppendAllLines 或 AppendAllText 不会创建路径,它只会创建文件。
为了解决这个问题,我使用System.IO.Directory.CreateDirectory("文件夹路径"])创建了路径。
然后我使用了 AppendAllLines 和 AppendAllText 方法。