我正在使用Apache Commons VFS2(虚拟文件系统)监视目录中的更改文件。 org.apache.commons.vfs2.FileListener
返回org.apache.commons.vfs2.FileObject
。如何转换一个org.apache.commons.vfs2.FileObject
为java.io.File
将FileObject转换为文件
回答
您可以使用
new File(fileobject.getName().getPath());
注意一个VFS文件对象不一定引用一个真实的文件,它也可以用于例如一个zip文件中引用的文件。取决于您用来获取文件对象的解析器。
其他参考:
我不认为这将工作,如果FileObject表示一个zip文件。 –
它不起作用 – doanduyhai
特别是在Windows上,因为它只返回卷上的路径,而不是机器上的路径。 – Riduidel
org.apache.commons.vfs2.FileObject
是一个接口。 我的猜测是,你是用下面的实施org.apache.commons.vfs2.provider.local.LocalFile
这个类提供的方法getLocalFile()
其返回类java.io.File
如果不处理一个LocalFile
大多数其他实现方式的提供的对象工作doGetInputStream()
它可以用来创建一个File对象
'getLocalFile()'不幸受到保护(如javadoc所示),使得它不可用。 – Riduidel
这是真的!没有看到。感谢您指出 –
fileobject.getURL().getFile()
应该可以工作。需要注意的是,我们需要先将它转换为Java URL对象,然后才能用它来解析文件。
- 1. 将rtf文件转换为chm文件?将hlp文件转换为chm文件?
- 2. 将文件转换为NTFS
- 3. 将IFile转换为文件
- 4. 将文件转换为流
- 5. 将流转换为文件
- 6. 将BufferedInputStream转换为文件
- 7. 将JarEntry转换为文件
- 8. 将文件转换为MultiPartFile
- 9. 将blob转换为文件
- 10. 将UploadedFile转换为文件
- 11. 将CommonsMultipartFile转换为文件
- 12. 将文件转换为BinaryTree
- 13. 将JasperPrint转换为文件
- 14. 将html文件转换为PDF文件?
- 15. GridFS将文件转换为IO文件
- 16. 将.so文件转换为.jnilib文件
- 17. 将.csv文件转换为.xls文件
- 18. 将rqda文件转换为sql文件
- 19. 将.xls文件转换为.csv文件?
- 20. 将org.w3c.dom.Document转换为文件文件
- 21. 将.bat文件转换为.sh文件
- 22. 将.cer文件转换为.pfx文件
- 23. 将YAML文件转换为PHP文件
- 24. 将BED文件转换为WIG文件
- 25. 将htm文件转换为ppt文件
- 26. 将.cptx文件转换为.swf文件
- 27. 将Windows文件转换为Linux文件
- 28. 将.dat文件转换为.xls文件
- 29. 将prop文件转换为arff文件
- 30. 将.so文件转换为.dll文件
这只是一个界面。你在使用什么实现? –
如果你的意思是FileListener,那么所有的方法都返回FileObject –
no。 FileObject是一个接口。试着找出具体实现返回的是什么。 –