Получить объект java.nio.file.Path из файла java.io.File
215
Можно ли получить объект Path от a java.io.File?
Я знаю, что вы можете преобразовать путь к файлу, используя toFile()метод, но я не смог найти обратное преобразование. Есть ли способ сделать это в Java 6 или ниже?
Меня удивляет, как самый глупый вопрос (я имею в виду, это было в документации, короткий поиск в Google ответил бы на него) приносит мне наибольшее количество баллов на сайте. : D
Karlovsky120
@ Karlovsky120 это не должно удивлять вас, если вы попытаетесь гуглить это самостоятельно;)
9ilsdx 9rvj 0lo
Ответы:
288
Да, вы можете получить его с помощью Fileобъекта File.toPath(). Имейте в виду, что это только для Java 7+. У версий Java 6 и ниже его нет.
Пути, связанные со значением по умолчанию provider, обычно совместимы с java.io.Fileклассом. Пути, созданные другими поставщиками, вряд ли будут взаимодействовать с абстрактными именами путей, представленными java.io.File. Этот toPathметод может использоваться для получения Path из абстрактного имени пути, представленного объектом java.io.File. Полученный путь может использоваться для работы с тем же файлом, что и
java.io.Fileобъект. Кроме того, toFileметод полезен для построения a Fileиз Stringпредставления a Path.
В документации Oracle jdk 1.7, которая также упоминается в других постах выше, следующий эквивалентный код описан в описании метода toPath (), который может работать для JRE v1.6;
Ответы:
Да, вы можете получить его с помощью
File
объектаFile.toPath()
. Имейте в виду, что это только для Java 7+. У версий Java 6 и ниже его нет.источник
Path
была введена в Java 7, поэтому, к сожалению, нет способа сделать это в Java 6 и ниже.Из документации :
(акцент мой)
Итак, для
toFile
:И
toPath
:источник
Вы, вероятно, хотите
File.toPath()
.источник
Как многие предполагали, JRE v1.7 и выше имеет File.toPath ();
В документации Oracle jdk 1.7, которая также упоминается в других постах выше, следующий эквивалентный код описан в описании метода toPath (), который может работать для JRE v1.6;
источник