创建具有读写权限的新文件夹

3

我目前正在根据文件名创建目录,然后将文件移动到新目录中。目前,我使用以下代码成功地创建了新目录:

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

我试图使用InputStreamOutputStream将文件移动到新目录,代码看起来没问题,但是当我创建新目录时,所有文件夹都被设置为只读,因此我无法将文件移动到新目录中。

那么,在创建文件夹时有办法将文件夹设置为读写吗?


只读目录?是哪个操作系统? - maksimov
1
相关链接:https://dev59.com/PHRB5IYBdhLWcg3wpYmo - assylias
是的,我正在创建一个新文件夹目录,并且新目录中的所有文件夹都具有只读访问权限。我正在使用Windows XP操作系统。 - Hip Hip Array
1个回答

3
我相信在调用 mkdirs() 之前添加 fullPathFile.getParentFile().setWritable(true) 方法会有所帮助。 setWritable(bool) 方法是为了设置该抽象路径名所有者的写入权限而提供的便捷方法。由于它是一个文件,因此您可以应用它。

当我尝试这样做时,会出现错误“布尔值无法取消引用”,它允许我在getParentFile()之后添加setWritable(true),但不允许我在其后添加.mkdirs(),有什么想法吗? - Hip Hip Array
我会查看这个问题,但是我已经尝试过它并且它可以工作。你应该查看API以获取更多细节。你的意思是说方法mkdirs()不再可用了吗?如果我理解你的意思,你正在写fullPathFile.getParentFile().setWritable(true).mkdirs?如果是的话,那么这很正常,因为setWritable(bool)将返回一个布尔值,告诉我们权限更改是否失败或成功。 - Joseph Elcid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接