Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7593612 建立时间:2006年5月29日 |

| |
[Apache(jakarta)]Commons-VFS——虚拟文件系统 软件技术
lhwork 发表于 2007/1/19 8:53:41 |
Apache的Jakarta-Commons项目刚刚发布一个新的API——VFS 1.0。从名字上来看是关于文件系统的一个好东西,再仔细一看,哇塞,我一直想要一个这样的玩意。
VFS把对各种各样的的文件系统的访问封装成统一的应用程序接口,这大大的简化了应用程序本身代码的复杂度。Apache上的项目的稳定性也是有目共睹的,目前VFS支持下面一些文件系统,当然你也可以自行进行扩展。
FTP
Local Files
HTTP and HTTPS
SFTP
Temporary Files
Zip, Jar and Tar (uncompressed, tgz or tbz2)
gzip and bzip2
res
ram
而这些文件系统中的文件被封装成了FileObject这个类,文件的读写操作通过此类来操作。文件的路径采用了URL的方式,例如:
file:///somedir/some%25file.txt
zip:// arch-file-uri[! absolute-path]
http://[ username[: password]@] hostname[: port][ absolute-path]
webdav://[ username[: password]@] hostname[: port][ absolute-path]
ftp://[ username[: password]@] hostname[: port][ absolute-path]
smb://[ username[: password]@] hostname[: port][ absolute-path]
tmp://[ absolute-path]
res://[ path]
ram:///any/path/to/file.txt
mime:file:///your/path/mail/anymail.mime!/filename.pdf
看看上面这些示例,最后一个让我觉得惊奇,居然直接可以读取邮件附件,太强了。
更多的资料您还是自己看看VFS的网页吧: http://jakarta.apache.org/commons/vfs另外VFS用来支持ISO文件的插件可以看看这里ISO 9660 - http://loopy.sourceforge.net反正,俺已经决定在新项目中用这个东西试试了。 |
|
|