Как я могу получить существующий родительский путь из указанного пути к файлу - PullRequest
0 голосов
/ 13 марта 2019

Есть ли способ получить действующий / существующего родителя по указанному пути без зацикливания.

Мне нужно создать папку по указанному пути, и я хочу добавить подтверждение, что у этой папки есть разрешение на запись.

Так что я добавил ниже код.но проблема в том, что некоторое время путь getParent не существует

Files.isWritable(Paths.get(path).getParent())

Пример

"C:\MyFolder\Test" is existing folder.

Case1:
path=C:\MyFolder\Test\a 
Paths.get(path).getParent() will be C:\MyFolder\Test 
Files.isWritable will be true/false based on permission of "C:\MyFolder\Test".

Case2:
path=C:\MyFolder\Test\a\b\c 
Paths.get(path).getParent() will be C:\MyFolder\Test\a\b 
Files.isWritable will be always false.

Я могу добавить цикл, подобный getParent (), пока существует, а затем проверить Files.isWritable ().Есть ли лучшее решение, чтобы получить действующий / существующий путь.

1 Ответ

1 голос
/ 13 марта 2019

Вы можете попробовать использовать createDirectories , если вы также хотите создать родительские каталоги.Конечно, вам придется извлечь путь к родительскому каталогу, как вы уже это делаете, если это файл.

вы также можете дополнительно указать этот SO ответ для старой школы безjava.nio пакет.

Используйте try-catch для обработки в случае сбоя при создании каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...