我正在使用Apache Commons VFS2(虚拟文件系统)来监控目录中的更改文件。 org.apache.commons.vfs2.FileListener
返回org.apache.commons.vfs2.FileObject
。如何将org.apache.commons.vfs2.FileObject
转换为java.io.File
答案 0 :(得分:4)
fileobject.getURL().getFile()
应该有效。需要注意的是,我们需要先将其转换为Java URL对象,然后可以使用它来解析文件。
答案 1 :(得分:1)
您可以使用
new File(fileobject.getName().getPath());
请注意,VFS文件对象不一定引用真实文件,也可以引用zip文件中的文件。取决于您用于获取文件对象的解析器。
其他参考资料:
答案 2 :(得分:0)
org.apache.commons.vfs2.FileObject
是一个界面。
我的猜测是,您正在使用以下实现org.apache.commons.vfs2.provider.local.LocalFile
此类提供方法getLocalFile()
,它返回类java.io.File
如果您没有处理LocalFile
大多数可用于创建File对象的其他实现商品doGetInputStream()