Я хочу сделать что-то вроде:
if (!file.canWrite())
throw Exception("Permission denied");
file.mkdirs();
Однако я не могу этого сделать, потому что canWrite
работает только для файлов, которые уже существуют.Есть ли способ узнать, смогу ли я записать в файл, если он существует?
РЕДАКТИРОВАТЬ: Спасибо, я понимаю, я мог бы проверить, существует ли файл.Как поймут те из вас, кто прочитал третью строку кода, моя проблема в том, что mkdirs
просто вернет false
, если не смог создать каталог - нет объяснения, почему создание не удалось.
Дополнительно, mkdirs
создаст файлы, вложенные произвольно глубоко.Поэтому мне нужно что-то вроде:
while(file.hasParent()){
file = file.parent();
if (!file.canWrite()) throw (..);
}
Как указывал Пол, мне тоже нужно знать маску.