- 浏览: 3513590 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
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 74167在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3778原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23523Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2148FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5537我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2362WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1583Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2135终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14856大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1731charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22692Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4897来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2397本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8753一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2919近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3715目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2556Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2114由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 3025安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1868本文介绍物理地址扩展 ...
相关推荐
Apache Commons VFS(Virtual File System)是一个开源Java库,它为不同的文件系统提供了一个统一的接口。这个库允许开发者以相同的方式处理各种类型的文件系统,包括本地文件、FTP、HTTP、ZIP、JAR等。VFS是Virtual...
标题中的"commons-logging-1.2.jar"和"commons-vfs-2.2.jar"是两个Java库的文件名,分别代表Apache Commons Logging和Apache Commons VFS(Virtual File System)的不同版本。这两个库在Java应用程序开发中经常被...
接下来,`commons-vfs2-2.2.jar`代表Apache Commons VFS(Virtual File System),这是一个强大的文件系统抽象层。它允许开发者通过单一的API访问各种不同的文件系统,包括本地文件系统、FTP、HTTP、SFTP等。Commons...
Apache Commons VFS(Virtual File System)是Apache软件基金会的一个开源项目,它提供了一个统一的接口来处理各种不同的文件系统。这个接口使得开发者可以方便地在不同的文件系统之间切换,包括本地文件系统、网络...
Apache Commons VFS(Virtual File System)是Apache软件基金会的一个开源项目,它提供了一个统一的接口来处理各种不同类型的文件系统,如本地文件、FTP、HTTP、JAR等。这个项目的核心在于抽象出一个通用的文件系统...
Apache Commons VFS(Virtual File System)是Java平台上的一个开源项目,它提供了一种抽象层,用于处理各种类型的文件系统。这个库的主要目标是统一不同类型的文件系统的访问方式,包括本地文件系统、网络共享、FTP...
Apache Commons VFS(Virtual File System)是一个开源项目,由Apache软件基金会开发,它提供了一种统一的方式来处理各种类型的文件系统。VFS允许开发者通过抽象层访问本地文件、远程文件、ZIP档案、JAR文件等,使得...
5. `commons-vfs-2.0.jar`:Apache Commons VFS(Virtual File System),提供了一种抽象层来访问不同的文件系统,包括FTP和FTPS,使得代码可以独立于具体的文件系统进行操作。 6. `commons-httpclient-3.1.jar`:...
Apache Commons VFS(Virtual File System)是一个Java库,它提供了一种统一的方式来处理各种不同类型的文件系统。这个库使得开发者可以以一致的方式访问本地文件系统、FTP服务器、HTTP服务器、ZIP档案等。"vfs ...
Apache Commons VFS(Virtual File System)是一个开源项目,它提供了一种抽象层,可以处理各种文件系统,包括本地文件、FTP、HTTP等。这个库允许开发者以统一的方式处理不同的文件系统,无需关心底层实现的差异。...
Apache Commons VFS(Virtual File System,虚拟文件系统)是一个强大的Java库,允许开发者通过统一的接口操作各种不同的文件系统。这个库将各种文件系统抽象化,使得开发者无需关心底层实现,即可处理本地文件、FTP...
System.out.println("File downloaded successfully."); } else { System.out.println("Failed to download file."); } // 断开连接 ftpClient.logout(); ftpClient.disconnect(); } catch (Exception e) {...
4. **VFS (Virtual File System)**:Java的虚拟文件系统API,可以处理不同类型的文件系统,如本地文件系统、FTP、HTTP等。 5. **NIO (New I/O)**:Java的非阻塞I/O库,提高了文件操作的效率。 四、Contineo3...
Java提供了许多库和框架,如Apache Commons VFS(Virtual File System)和Java 7及更高版本的NIO.2,可以帮助开发者构建这样的文件系统。CFS3.7可能利用了这些工具或创建了自己的实现来提供文件的读取、写入、遍历、...
2. Global File System (GFS) 或 XFS:高可用性集群支持的共享文件系统,允许多台服务器访问同一份数据,实现数据的实时同步。 3. Database Replication:例如MySQL的主从复制,确保数据库在多台服务器上的同步,...
NFS(Network File System)是一种网络文件系统协议,允许一个系统的应用程序访问通过网络连接的另一个系统的文件,就像访问本地文件一样。这里指出了可以通过NFS来实现存储服务的搭建,具体步骤包括创建共享目录、...