2014-12-03 7 views
-1

Я делаю папку READ-ONLY. Я пытаюсь проверить, доступен ли только для чтения.Чтение папки с разрешенным отказом возвращается TRUE

File file1 = new File("path"); 
Sysout(file1.canRead()); 

Приведенный выше код дает мне ИСТИННУЮ, но это должно быть ЛОЖНО. Я запускаю это внутри метода main() в java.

Я использую версию JDK 1.7.0_67.

Может ли кто-нибудь прокомментировать это. Благодарю.

+0

Используйте их для изменения разрешения файла ** 1. file.setExecutable (булево); - true, разрешить выполнение операций; false, чтобы запретить его. 2. file.setReadable (boolean); - true, разрешить операции чтения; false, чтобы запретить его. 3. file.setWritable (boolean); - true, разрешить операции записи; false, чтобы запретить его. ** –

+2

Папка READ-ONLY не может быть записана, но ее можно прочитать - как сказано в названии. –

+0

Чтобы сказать, что @ThomasStets сказал другим способом: только для чтения означает, что 'canWrite()' будет возвращать false, но поскольку «единственная» вещь, которую вы можете сделать в файле только для чтения, ** читается **, то, конечно, canRead() 'возвращает true. –

ответ

0

Я предполагаю, что вы тестируете это в Windows. В Windows, если вы помечаете папку как доступную только для чтения, атрибут «только для чтения» применяется только к файлам внутри этой папки.

Поэтому, если вы проверяете File.canRead() на пути к папке, он будет возвращать true, но если вы пытаетесь проверить File.canRead() на файл в папке только для чтения, это должно дать вам ложь.

+0

Да Dev-an. Я использую Windows. Вы имеете в виду File.canRead() только для файлов, а не для папок или подпапок. Если это так, то как определить уровень папки в окнах. – sridhar

+0

@ Dev-a Я думаю, что вам что-то не хватает. только для чтения влияет только на вашу способность * писать *. Это не означает, что вы не можете читать, это означает, что вы можете * читать только *. –

+0

@Thomas Stets - Просто добавление к сценарию. Я сделал папку DENY READ. Итак, file.canRead() должен быть FALSE, но он возвращает TRUE. – sridhar