2012-05-24 41 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(布尔)将返回一个布尔值,它告诉权限更改是否失败或成功。 –

相关问题