2012-05-24 44 views
3

我目前正在根據文件名創建一個目錄,然後將文件移動到新目錄中。目前我使用下面的代碼創建新的目錄罰款:創建具有讀寫權限的新文件夾

String filename = filesInFolder.get(i).toString(); 
File fullPathFile = new File(filename.replaceAll("(\\w+)_(\\d+).*", "$1/$2/$0")); 
fullPathFile.getParentFile().mkdirs(); 

然後我試圖使用InputStreamOutputStream將文件移動到新的目錄,代碼確定它似乎但是當我創建新目錄,所有的文件夾都設置爲read-only,所以我不能將文件移動到已知的目錄中

那麼有沒有辦法在文件夾創建時將其設置爲read-write

+0

只讀目錄?什麼操作系統? – maksimov

+1

相關:http://stackoverflow.com/questions/564154/create-directory-with-write-permissions-for-the-group – assylias

+0

雅,我正在創建一個新的目錄的文件夾和新目錄中的所有文件夾只讀訪問。我正在使用windows xp –

回答

3

我相信fullPathFile.getParentFile().setWritable(true)之前調用mkdirs()應該做的。 方法setWritable (bool)是爲此抽象路徑名設置所有者的寫入權限的便捷方法。
既然是文件,你可以應用它。

+0

當我試圖做到這一點,我得到一個錯誤「布爾不能被解除引用」,它會讓我在getParentFile()後添加setWritable(true),但它不會離開我添加.mkdirs()之後,有任何想法嗎? –

+0

我會看看這個問題,但我試了一下,它的工作原理。你應該更多的細節API。你的意思是mkdirs()方法不再可用嗎?如果我得到你所說的話,你正在編寫'fullPathFile.getParentFile().setWritable(true).mkdirs'?如果是,那麼它的正常,因爲setWritable(布爾)將返回一個布爾值,它告訴權限更改是否失敗或成功。 –

相關問題