- 浏览: 3473255 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
VFS
Commons Virtual File System (VFS)提供了一种能够统一访问不同文件系统的抽象层。这个组件能够配置为同时连接一个或多个的文件系统。在Linux操作系统下也是比较容易的。
VFS支持下列文件系统:
- Local files – 本地文件和文件夹(file://)
- Zip, jar, tar, tgz, tbz2, gzip, bzip2 – 不同的压缩格式(zip://, jar://, etc.)
- CIFS – Samba服务或Windows共享(smb://)
- FTP – FTP服务器(ftp://)
- HTTP和HTTPS (http://)
- SFTP – SSH或SCP服务器(sftp://)
- Temporary files (tmp://)
- WebDAV – Web-based Distributed Authoring and Versioning (webdav://)
- Resource from class loader – 使用ClassLoader获取类或其他资源(res://)
这个组件对那些需要访问不同类型的文件系统的应用程序来说十分有用。举例来说:一个桌面搜索工具同这个框架非常类似。它提供用户搜索文件或文件的内容。另外一个例子就是集成Windows IE浏览器类似的功能到Java应用程序。
范例应用程序是一个工具,它使用Commons VFS来在文件夹中查询Zip和Jar文件。应用程序没有提供用户界面,但是提供了一个测试用例来证明它能良好的工作。可以在in.co.narayanan.commons.vfs 找到范例和测试代码。按顺序运行范例应用程序,下载源码压缩包,运行Ant构建脚本来创建Commons VFS库。Ant脚本会自动下载其他依赖的库文件。最后通过JUnit测试来启动范例应用程序。[in.co.narayanan.commons.vfs.TestSearchBuddy ]
最初的使用Commons VFS的想法是创建一个提供支持每种文件类型并能够由DefautFileSystemManager引用的Manager实例。为深层次的操作,需要通 过manager的resolveFile方法获取FileObject实例。Manager和FileObject提供了不同的方法,可以在 JavaDoc中找到他们的详细说明。下一段文字描述在搜索工具中如何使用Commons VFS API。
清单6通过in.co.narayanan.commons.vfs.SearchBuddy类中初始化DefaultFileSystemManager类的代码片断。
清单6.初始化文件系统管理器
/**
* Initialize the DefaultFileSystemManager to support
* file, zip and jar providers. A virtual file system
* is created and passed to the SearchableVirtualFileSystem
* decorator class.
*
* @throws SearchException Error in initializing the file
* FileSystemManager
*/
private void init() throws SearchException {
defFileSysMgr = new DefaultFileSystemManager();
try {
defFileSysMgr.addProvider("file", new DefaultLocalFileProvider());
defFileSysMgr.addProvider("zip", new ZipFileProvider());
defFileSysMgr.addProvider("jar", new JarFileProvider());
defFileSysMgr.init();
// 创建虚拟文件系统
VirtualFileSystem vfs =
(VirtualFileSystem)defFileSysMgr.createVirtualFileSystem("vfs://").getFileSystem();
searchableVfs = new SearchableVirtualFileSystem(vfs);
} catch (FileSystemException e) {
throw new SearchException("Unable to initialize the FileSystemManager.", e);
}
}
高亮代码行为在文件系统中查询本地普通文件、zip文件、jar文件增加providers。这段代码创建一个VirtualFileSystem类的实例,这个类可以用来装备其它的文件系统。
清单7时测试用例类TestSearchBuddy的代码片断,它说明范例应用程序如合查找文件。
清单7. 使用查询工具
/**
* Adds the folder, zip, and a jar file to search
*
* @throws Exception Error in the test.
*/
public void testSearchInZips() throws Exception {
SearchBuddy searchTool = new SearchBuddy();
searchTool.addSearchableZip("testroot.zip");
searchTool.addSearchableJar("testjar.jar");
searchTool.addSearchableFolder(".");
System.out.println("Searching for news.txt");
searchTool.search("news", "txt");
System.out.println("Searching for Range.class");
searchTool.search("range", "class");
System.out.println("Searching for test.xml");
searchTool.search("test", "xml");
System.out.println("Searching for *.properties");
searchTool.search(null, "properties");
searchTool.close();
}
高亮部分代码行增加zip、jar文件到searchTool中。search方法通过加入要进行查询的文件名、扩展名来进行查询操作。
评论
LZ你好,我想写个查看远程文件的小工具,刚看到vfs的介绍。
其实我想做到的是类似在putty登录服务器之后tail -f 日志文件,我的工具能源源不断的收到日志文件的更新,然后我要逐行逐行处理。
请问vfs能做到我的要求吗?谢谢。
发表评论
-
字符串分割--java中String.split()用法
2013-03-06 14:25 74097在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3709原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23424Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2092FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5468我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2309WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1524Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2081终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14788大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1675charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22527Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4839来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2316本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8611一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2866近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3672目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2512Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2061由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 2954安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1819本文介绍物理地址扩展 ...
相关推荐
commonsfile在action中的上传实例commonsfile在action中的上传实例
jar包大小:135KB commons-validator-1.3.1.jar jar包大小:93KB commons-transaction-1.2.jar jar包大小:141KB commons-scxml-0.6.jar jar包大小:254KB commons-primitives-1.0.jar jar包大小:60KB commons-pool-1.3....
上传下载所需jar包,commons-fileupload-1.3.1.jar和commons-io-2.4.jar
daemon-1.0.15-bin commons-dbutils-1.6-bin commons-digester3-3.2-bin commons-el-1.0 commons-email-1.4-bin commons-fileupload-1.0 commons-fileupload-1.1.1 commons-fileupload-1.1 commons-file upload-...
commons-io-1.4.jar org.apache.commons.fileupload
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
commons-logging-1.0-javadoc.jar, commons-logging-1.0.1-javadoc.jar, commons-logging-1.0.1.jar, commons-logging-1.0.2-javadoc.jar, commons-logging-1.0.2.jar, commons-logging-1.0.3-javadoc.jar, commons-...
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....
常用jar包下载,包括commons-beanutils-1.9.3、commons-collections-3.2.2、commons-collections4-4.1
apache commons jar(commons所有的jar包,从官网下载提供给大家) 因为涉及jar太多,包括有src源代码,只需要3分,希望大家理解,我也是从官网花了很长时间才一个一个下完,需要的请自取。全部是zip文件,每个对应的...
commons commons-fileupload历史版本jar包集合,包括src源码 附件列表: commons-fileupload-1.0.zip commons-fileupload-1.1.1.zip commons-fileupload-1.1.zip commons-fileupload-1.2.1-bin.zip commons-...
commons-collections-20040616.jar, commons-collections-3.2-osgi.jar, commons-collections-3.2-sources.jar, commons-collections-3.2.1.jar, commons-collections-3.2.2-javadoc.jar, commons-collections-3.2.2...
commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前后台的一致性,注意在后台定义File文件对象名要与jsp页面中的file标签name名字一致,前台form标签属性一定要设置为enctype="multipart/form-data",而且...
commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....
目前最稳定,最实用的上传组件.commons-fileupload-1.2.jar.
将Apache的commons-fileupload.jar放在应用程序的WEB-INF\lib下,即可使用。下面举例介绍如何使用它的文件上传功能。 所使用的fileUpload版本为1.2,环境为Eclipse3.3+MyEclipse6.0。FileUpload 是基于 Commons IO的...
apache.commons.compress 第三方开源软件。能解压,压缩文件。里面包括commons-compress-1.9、commons-compress-1.2.1的版本。 当遇到这种错误,应该重点关注Caused by:后面的内容 Caused by:xxx Unsupported major....
JavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 commons-ioJavaEE源代码 ...
commons-attributes-2.2-src.zip commons-attributes-2.2.zip commons-beanutils-1.8.0-BETA-src.zip commons-beanutils-1.8.0-BETA.zip commons-betwixt-0.8-src.zip commons-betwixt-0.8.zip ...
文件上传下载所用jar包common-fileupdate-1.2.1.jar common-io-1.4.jar