2013-07-28 25 views
0

直接从相关FileWriterAPI澄清有关的FileWriter

无论文件可用或者可以被创建取决于 底层平台时。

这是否意味着它不能保证:

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

创建即使该文件不存在的文件吗?我认为这是有保证的。他们是否认为可能是由于特权和事情?

在此先感谢。

回答

3

如果您无权在创建该文件的位置创建该文件,则可能无法创建文件。

看那documentation

抛出:

IOException - 如果该文件存在,但它是一个目录,而不是一个常规文件,不存在,但无法创建,或不能因任何其他原因打开

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

+0

mm我看到所以可以肯定地说file.createNewFile()有相同的限制吗? – Rollerball

+0

@滚球是的,我相信! – NINCOMPOOP