public FileWriter(String fileName)抛出IOException
抛出:
IOException - 如果指定的文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开
和here
public FileOutputStream(File file,boolean append)抛出FileNotFoundException
抛出:
FileNotFoundException - 如果文件存在但是是目录而不是常规文件,则不存在但无法创建,或者由于任何其他原因无法打开
这种选择有特定原因吗?
答案 0 :(得分:7)
有趣的问题。
我只是偷看了每个构造函数的代码,这有助于澄清事情:
FileWriter
使用FileOutputStream
。 FileOutputStream
会引发FileNotFoundException
,其范围为IOException
。
FileWriter extends OutputStreamWriter
,其构造函数抛出UnsupportedEncodingException
,它也会扩展IOException
。
FileWriter
可以抛出任何异常。但由于它们都扩展IOException
,因此它在构造函数的签名中声明IOException
。