我试图监视一个文件夹的批处理文件,将在那里删除,以更新一个web应用程序。这个应用程序已经使用了Apache vfs2库,我的领导也建议我使用这个库。
我的问题是: java.io中的文件和org.apache.commons.vfs2中的FileObject有什么概念上的区别?
我在FileObject和文件上读过文档,我真正想要的是这两个类的概念上的区别。例如: FileObject是否是文件的某种包装器?在他们的继承树中,我没有看到太多的共同点,所以在我看来,FileObject在任何地方都不使用文件。
发布于 2015-02-04 19:12:14
VFS2 FileObject是一个与特定存储机制无关的接口(这是VFS2文件系统的要点)。
FileObject可以表示本地文件系统文件、SFTP、FTP、HTTP或WebDav服务器上的文件,也可以表示压缩存档中的文件,或者其他可能包含组成文件的字节的文件。
java.io.File是对本地文件的引用,这就是它的结束。
FileObject抽象的好处是您可以将代码编码到单个接口,而不关心组成该文件的字节实际来自何处(即本地文件系统、通过SSH通过SFTP、通过HTTP等)。
https://stackoverflow.com/questions/28329274
复制相似问题