Java nio file (JSR-203) basics based on java7-fs-base.
- cache for file system
- utilities
- channels for filesystems
- input/output streams for upload/download
- output engine input stream 🎖
- base test case
rename project to vavi-nio-file-base- JSR-107 Cache Specification
merge into java7-fs-base
This project is licensed under GPLv2.0, LGPLv3 and ASL 2.0. See file LICENSE for more details.
This is a package designed to ease the creation of custom Java 7
FileSystem
s.
More generally, we are talking here about the java.nio.file
API which made its
appearance in Java 7.
A FileSystem
can be, in theory, written for anything which has a filesystem-like structure or for
which you can emulate one; the JRE of course provides it for the native filesystems of the platform
you are running the JRE on, but it also provides a FileSystem
view for ZIP files -- yes, that's
right, you can view a ZIP file (therefore also jars) as FileSystem
s and copy from/to them, etc.
Other examples of existing, third party filesystems are:
- a
FileSystem
over FTP (by yours truly); - an in-memory
FileSystem
(by Google). - a
FileSystem
over DropBox (by yours truly; based on this package);
Well, the API is quite a beast; if you want to program a FileSystem
from scratch, you're setting
yourself a very, very big task. Just look how many methods are defined by
Path
, for instance -- and
that's only the "user level" view of the API.
This package therefore brings facilities to allow you to develop custom file systems in a much easier way; see the wiki for more information.