initialize

Initialize a FileSystem.
Called after the new FileSystem instance is constructed, and before it
is ready for use.
FileSystem implementations overriding this method MUST forward it to
their superclass, though the order in which it is done, and whether
to alter the configuration before the invocation are options of the
subclass.

true if the file has been truncated to the desired
newLength and is immediately available to be reused for
write operations such as append, or
false if a background process of adjusting the length of
the last block has been started, and clients should wait for it to
complete before proceeding with further file updates.

getInitialWorkingDirectory

Note: with the new FileContext class, getWorkingDirectory()
will be removed.
The working directory is implemented in FileContext.
Some FileSystems like LocalFileSystem have an initial workingDir
that we use as the starting workingDir. For other file systems
like HDFS there is no built in notion of an initial workingDir.

getStatus

Returns a status object describing the use and capacity of the
filesystem. If the filesystem has multiple partitions, the
use and capacity of the partition pointed to by the specified
path is reflected.

startLocalOutput

Returns a local file that the user can write output to. The caller
provides both the eventual target name in this FileSystem
and the local working file path.
If this FileSystem is local, we write directly into the target. If
the FileSystem is not local, we write into the tmp local area.

completeLocalOutput

Called when we're all done writing to the target.
A local FS will do nothing, because we've written to exactly the
right place.
A remote FS will copy the contents of tmpLocalFile to the correct target at
fsOutputFile.

close

Close this FileSystem instance.
Will release any held locks, delete all files queued for deletion
through calls to FileSystem.deleteOnExit(Path), and remove this FS instance
from the cache, if cached.
After this operation, the outcome of any method call on this FileSystem
instance, or any input/output stream created by it is undefined.