关于FileWriter的澄清

时间:2013-07-28 13:17:37

标签: java file io filewriter

直接来自相关的FileWriter API

  

文件是否可用或是否可以创建取决于   基础平台。

这是否意味着它无法保证:

//assume all the exceptions have been taken care of.
    File file = new File("/home/user/Desktop/lol.txt");
    FileWriter writer = new FileWriter(file);

即使文件不存在,也会创建文件?我认为这是有保障的。他们的意思可能是由于特权和事情吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

如果您没有创建该文件的权限,则可能无法创建文件。

查看documentation

  

<强>抛出:

     

IOException - 如果文件存在但是是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开

在尝试创建文件之前,您可以使用AccessController#checkPermission(java.security.Permission)方法并传递FilePermission对象来检查您拥有的权限。