一般来说,我们使用Apache VFS时,直接从VFS对象获得的文件管理器是StandardFileSystemManager,StandardFileSystemManager从DefaultFileSystemManager继承而来。而解析文件在DefaultFileSystemManager中完成。 绝大部分时候,你会提供一个URI来定位你的文件系统,例如:ftp://yourftp/rootdir或者http://yourweb/rootdir或者file://c:/rootdir ,然后你将这个字符串作为参数传给StandardFileSystemManger, 这时候Defau ...
理解Apache VFS的概念性接口很重要,因为Apache VFS例子太少,如果不仔细研究的话,根本农不清楚: VfsComponent接口 这个接口号称是用来管理所有VFS组件的生命周期的。方法比较简单: init 用来初始化组件 close 用来关闭组件 setContext(VfsComponentContext ctx) 设置组件上下文,注意它维护了一个组件上下文:VfsComponentContext setLogger 设置日志 有一个抽象类实现了这个接口AbstractVfsComponent抽象类,这个抽象类加了一个 ...
使用Apache VFS比较简单,第一个面对的对象是org.apache.commons.vfs.VFS对象。它有三个静态的方法: getManager 这个方法最重要,将返回一个默认的FileSystemManager接口 setUriStyle isUriStyle 判断是否是URI形式 FileSystemManager接口,文件系统管理器接口 文件系统管理器负责一系列文件系统,通过文件系统使用名字来定位一个文件对象,定位方法是resolveFile()方法 文件系统管理器可以识别多种类型的文件名: 绝对的URI: 必 ...
Apache VFS的事件只有文件改变事件,这个事件模型比较特别: org.apache.commons.vfs.FileChangeEvent类是顶层,也是具体类,只有一个方法:getFile(),返回触发事件的文件对象。 org.apache.commons.vfs.events.AbstractFileChangeEvent抽象类继承了上述的FileChangeEvent具体类,增加了一个抽象方法:notify(FileListener listener)来通知监听器 我们真正使用的有三个继承上述抽象类的具体类: ChangedEvent Cre ...
Apache VFS提供了FileFilter接口和FileSelector接口以及FileSelectInfo接口。这三个接口很容易让人摸不着头脑,都声称是 遍历文件层次结构中用来选择文件的。只不过FileFilter说是直接的子文件 (direct children of the base) FileSelectInfo 只有三个方法: getBaseFolder 返回遍历的根目录 getDepth 返回文件相对根目录(Base Folder)的深度 getFile 返回考虑的文件对象 FileFilter F ...
Apache VFS有文件监听和监控功能。 FileListener接口监听三种事件: fileChanged(FileChangeEvent eve): 文件变化,只有使用了FileMonitor才触发 fileCreated(FileChangeEvent eve): 文件创建 fileDeleted(FileChangeEvent eve): 文件删除 FileChangeEvent很简单,只有一个方法getFile(),返回触发事件的FileObject对象。
Apache VFS提供了一种虚拟文件系统,能够让你通过程序很方便的和位于本地文件系统,FTP文件系统,HTTP文件打交道。 在Apache VFS中核心是FileObject接口。它代表一个文件,和Java File不同,它具有更多延伸的功能和信息。实现FileObject接口的文件对象有很多:例如AbstractFileObjet抽象类提供了部分FileObject实现。大部分FileObject实现类都继承AbstractFileObject类: LocalFile:(很奇怪为什么不是LocalFileObject) FtpFileObject Htt ...
alartin
搜索本博客
最近加入圈子
存档
最新评论
评论排行榜