blob: b77ccd699dc765047cc7ec71764a8eef9d27cf6d [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<document>
<properties>
<title>Commons Virtual File System</title>
<author email="dev@commons.apache.org">Apache Commons Developers</author>
</properties>
<body>
<section name="Commons Virtual File System">
<p>
Commons VFS provides a single API for accessing
various different file systems. It presents a uniform view of
the files from various different sources, such as the files on
local disk, on an HTTP server, or inside a Zip archive.
</p>
<p>Some of the features of Commons VFS are:</p>
<ul>
<li>
A single consistent API for accessing files of different
types.
</li>
<li>Support for numerous
<a href="filesystems.html">file system types</a>
.
</li>
<li>
Caching of file information. Caches information in-JVM,
and optionally can cache remote file information on the
local file system (replicator).
</li>
<li>Event delivery.</li>
<li>
Support for logical file systems made up of files from
various different file systems.
</li>
<li>
Utilities for integrating Commons VFS into applications,
such as a VFS-aware ClassLoader and URLStreamHandlerFactory.
</li>
<li>A set of VFS-enabled
<a href="anttasks.html">Ant tasks</a>
.
</li>
</ul>
</section>
<section name="Requirements">
<p>
Apache Commons VFS 2.1 requires Java 6. Many of the file systems require that optional components be present
in order for the protocol to be enabled. See the <a href="download.html">download and build</a> page for
information on the optional dependencies.
</p>
<p>
Apache Commons VFS 2.0 can be used in a Java 5 runtime.
</p>
</section>
<section name="News">
<p>
Apache Commons VFS 2.1 is a bugfix release to VFS 2.0. If you meet the requirements you should be able
to replace 2.0 with 2.1 without the need for changes to API consumers. VFS 2.1 has introduced some now
methods for provider interfaces (like <code>FileObject</code>). If you implement a VFS provider and use the
corresponding <code>Abstract*</code> or <code>Default*</code> classes, there should be no need to modify
the code or recompile the provider.
See the <a href="https://archive.apache.org/dist/commons/vfs/RELEASE_NOTES.txt">Release Notes</a> and the
<a href="commons-vfs2/clirr-report.html">Clirr Report</a> for details. VFS 2.1 adds a new read-only provider
for the Apache Hadoop (HDFS) File system.
</p><p>
Apache Commons VFS 2.0 adds support for FTPS and WebDav have been added in addition to many bugs
being fixed. Version 2.0 is not binary compatible with version 1.0. To insure that both 1.0 and 2.0 can
coexist version 2.0 has had its Maven groupId changed to org.apache.commons, its Maven artifact changed
to commons-vfs2, and the package names are now org.apache.commons.vfs2. The API changes are fairly minor
and will mostly impact provider implementations.
</p>
</section>
</body>
</document>