Ответ 1
Да, вы можете получить его из объекта File
, используя File.toPath()
. Имейте в виду, что это только для Java 7+. Java версии 6 и ниже не имеют его.
Можно ли получить объект Path из java.io.File
?
Я знаю, что вы можете преобразовать путь к файлу с помощью метода toFile()
, но я не смог найти обратное преобразование. Есть ли способ сделать это в Java 6 или ниже?
Да, вы можете получить его из объекта File
, используя File.toPath()
. Имейте в виду, что это только для Java 7+. Java версии 6 и ниже не имеют его.
Из документации:
Пути, связанные со значением по умолчанию
provider
, как правило, совместимы с классомjava.io.File
. Пути, созданные другими поставщиками, вряд ли совместимы с абстрактными именами пути, представленными наjava.io.File
. МетодtoPath
может использоваться для получения Пути из абстрактное имя пути, представленное объектом java.io.File.. результирующий Путь может использоваться для работы в том же файле, что иjava.io.File
объект. Кроме того, методtoFile
полезен для постройте aFile
из представленияString
aPath
.
(акцент мой)
Итак, для toFile
:
Возвращает объект
File
, представляющий этот путь.
И toPath
:
Возвращает объект
java.nio.file.Path
, построенный из этого абстрактного пути.
Вероятно, вы хотите File.toPath()
.
Как и многие, JRE v1.7 и выше имеют File.toPath();
File yourFile = ...;
Path yourPath = yourFile.toPath();
В Oracle jdk 1.7 documentation, о котором также упоминается в других сообщениях выше, следующий следующий эквивалентный код описан в описании метода toPath(), который может работать для JRE v1.6;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());