Skip to content

umjammer/vavi-nio-file-base

 
 

Repository files navigation

Release Java CI CodeQL Java Parent

vavi-nio-file-base

Java nio file (JSR-203) basics based on java7-fs-base.

vavi-nio-file

  • cache for file system
  • utilities
    • channels for filesystems
    • input/output streams for upload/download
    • output engine input stream 🎖
  • base test case

Install

Usage

TODO


Original

This project is licensed under GPLv2.0, LGPLv3 and ASL 2.0. See file LICENSE for more details.

What this is

This is a package designed to ease the creation of custom Java 7 FileSystems.

So, what is a "Java 7 FileSystem" anyway?

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 FileSystems and copy from/to them, etc.

Other examples of existing, third party filesystems are:

So, why 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.