openFileOutput FileNotFoundException

Vic*_*Vic 24 android

这是本周的noob问题.我正在寻找更多的一般推测而不是特定的代码,也许希望Android人们正在观看并可以纠正这个:

Context.openFileOutput的SDK文档说:

打开与此Context的应用程序包关联的私有文件以进行写入.如果文件尚不存在,则创建该文件.

好的,听起来不错.我可以创建一个文件.除了这个方法也抛出一个FileNotFoundException,所以显然有些不对劲.为什么如果没有找到应该创建文件的函数会在找不到文件时抛出异常???

有点打败整个"创建文件......"的事情,不是吗?

Vic*_*Vic 27

在看这个之前我必须为跳跃而道歉.我在阅读文档时有点惊慌失措.经过一些测试后,我发现openFileOutput()事实上它确实像宣传的那样工作,并且如果找不到它创建一个文件,而不仅仅是因为我担心会抛出一个FnF异常.显然,如果Activity的应用程序目录不存在,则添加FnF throw.

再次,我的道歉,但希望,这可能会帮助那些被文档困惑的人.

  • @MattConnolly那么为什么它被称为"FileNotFoundException"? (4认同)
  • 如果存在阻止创建/打开文件的权限问题,也将抛出FileNotFoundException. (2认同)
  • `openFileOutput`被声明为仅抛出该异常.打败我为什么他们选择不在其他情况下抛出更合适的例外.http://developer.android.com/reference/android/content/Context.html#openFileOutput(java.lang.String,%20int) (2认同)