Преобразование FileObject в файл

Я использую Apache Commons VFS2 (виртуальная файловая система) для мониторинга файла изменений в каталоге. org.apache.commons.vfs2.FileListener return org.apache.commons.vfs2.FileObject. Как преобразовать org.apache.commons.vfs2.FileObject на java.io.File

3 ответов


можно использовать

new File(fileobject.getName().getPath());

обратите внимание, что объект файла VFS не обязательно ссылается на реальный файл, он также может ссылаться на файл в zip-файле, например. Зависит от преобразователя, используемого для получения объекта file.

Дополнительные ссылки:

  1. [VFS-443] нужен простой способ преобразования из FileObject в файл - ASF JIRA.

fileobject.getURL().getFile()

должны работать. Нюанс заключается в том, что мы должны преобразовать его в объект Java URL, который затем может быть использован по разрешению файл.


org.apache.commons.vfs2.FileObject - это интерфейс. Я предполагаю, что вы работаете со следующей реализацией org.апаш.палата общин.vfs2.поставщик.местный.LocalFile

этот класс предлагает метод getLocalFile(), которые возвращают объект класса java.io.File

если вы не имеете дело с LocalFile большинство других реализаций предложение doGetInputStream(), который может быть использован для создания объекта file