Как создавать не доступные для чтения каталоги из Java в Windows - PullRequest
1 голос
/ 07 ноября 2011

Я создаю каталоги, используя myFileObject.mkdirs(). В Windows каждый созданный каталог помечается как доступный только для чтения. Хотя я (как ни странно) все еще могу писать в каталог, это приводит к ухудшению, когда дело доходит до удаления вещей.

Есть ли какое-либо системное свойство или что-то, что я могу установить, чтобы разрешением по умолчанию для новых каталогов было чтение и запись? (Я искал в SO и в Интернете и не нашел ничего, кроме других людей, жалующихся на то же самое.) Больно вызывать setWritable для дерева каталогов. (Если это имеет значение, я использую J2SE 1.6.0_23 на Windows 7.)

1 Ответ

2 голосов
/ 08 ноября 2011

Как я понимаю, нет никакого способа сделать это из Java, это не проблема Java.Например, давайте создадим папку из cmd, и вы увидите ту же проблему ( ms error ).CMDmd sampleDirattrib -r sampleDir

Атрибут останется таким же, как и на этапе создания.Но если вы видите синий квадрат для «Только для чтения», то по умолчанию он не помечен как «Только для чтения».Синий просто означает неопределенное пустое состояние.Только если в поле есть галочка, он будет помечен как доступный только для чтения.

Если вы можете создать файл .bat, который будет создавать это задание, вы можете вызвать его из Java:

Runtime.getRuntime().exec("cmd /c run.bat");

Это неверный путь, но если это работает - лучше, чем что-либо.*

...