我正在使用创建目录myFileObject.mkdirs()
。在 Windows 中,创建的每个目录都被标记为只读。尽管我(奇怪地)仍然可以写入目录,但在删除内容时会造成恶化。
是否有一些系统属性或我可以设置的东西,以便新目录的默认权限是读写?(我已经在 SO 和网络上进行了搜索,除了其他人抱怨同样的事情之外,没有发现任何东西。)不得不为目录树调用 setWritable 是一件很痛苦的事情。(如果有什么不同,我在 Windows 7 上使用 J2SE 1.6.0_23。)
我正在使用创建目录myFileObject.mkdirs()
。在 Windows 中,创建的每个目录都被标记为只读。尽管我(奇怪地)仍然可以写入目录,但在删除内容时会造成恶化。
是否有一些系统属性或我可以设置的东西,以便新目录的默认权限是读写?(我已经在 SO 和网络上进行了搜索,除了其他人抱怨同样的事情之外,没有发现任何东西。)不得不为目录树调用 setWritable 是一件很痛苦的事情。(如果有什么不同,我在 Windows 7 上使用 J2SE 1.6.0_23。)
据我了解,没有办法从 java 做到这一点,这不是 java 问题。例如,让我们从 cmd 创建文件夹,您将看到相同的问题(ms 错误)。
cmd
md sampleDir
属性 -r sampleDir
属性将保持在创建步骤中的状态。但是,如果您看到“只读”的蓝色方块,则默认情况下它不会被标记为只读。蓝色仅代表未确定的空白状态。只有在方框中有复选标记时,才会将其标记为只读。
如果您可以创建将创建此作业的 .bat 文件,则可以从 Java 中调用它:
Runtime.getRuntime().exec("cmd /c run.bat");
这不是真正的方式,但如果它有效 - 那就更好了。