2013-07-28 24 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