Get the basename (file name only) part of a path.
Get the basename (file name only) part of a path.
the path (absolute or relative)
the file separator to use. Defaults to the value of the "file.separator" property.
the file name portion
Copy a file to a directory.
Copy a file to a directory. If the target directory does not exist, it is created.
Path name of the file to copy
Path name to target directory
Success(true)
if the copy worked. Failure(exception)
on
error.
Copy a file to a directory.
Copy a file to a directory.
Path name of the file to copy
Path name to target directory
true
to create the target directory,
false
to throw an exception if the
directory doesn't already exist.
Success(true)
if the copy worked. Failure(exception)
on
error.
Copy multiple files to a target directory.
Copy multiple files to a target directory. Also see the version of this method that takes only one file.
An Iterable
of file names to be copied
Path name to target directory
true
to create the target directory,
false
to throw an exception if the
directory doesn't already exist.
Success(true)
if the copy worked. Failure(exception)
on
error.
Copy a source file to a target file, using binary copying.
Copy a source file to a target file, using binary copying. The source file must be a file. The target path can be a file or a directory; if it is a directory, the target file will have the same base name as as the source file.
path to the source file
path to the target file or directory
A Success
containing the full path of the target file,
or Failure(exception)
Copy a source file to a target file, using binary copying.
Copy a source file to a target file, using binary copying. The source file must be a file. The target path can be a file or a directory; if it is a directory, the target file will have the same base name as as the source file.
path to the source file
path to the target file or directory
A Success
with the full path of the target file, or
Failure(exception)
Recursively copy a source directory and its contents to a target directory.
Recursively copy a source directory and its contents to a target directory. Creates the target directory if it does not exist.
the source directory
the target directory
Success(true)
if the copy worked. Failure(exception)
on
error.
Recursively copy a source directory and its contents to a target directory.
Recursively copy a source directory and its contents to a target directory. Creates the target directory if it does not exist.
the source directory
the target directory
Success(true)
if the copy worked. Failure(exception)
on
error.
Create a temporary directory.
Create a temporary directory.
Prefix for directory name
Maximum number of times to try creating the directory before giving up.
the directory. Throws an IOException if it can't create the directory.
Recursively remove a directory tree.
Recursively remove a directory tree. This function is conceptually
equivalent to rm -r
on a Unix system.
The directory
Failure(exception)
on error, Success(total)
on success. total
is the total number of deleted files.
Recursively remove a directory tree.
Recursively remove a directory tree. This function is conceptually
equivalent to rm -r
on a Unix system.
The directory
Get the directory name of a pathname.
Get the directory name of a pathname.
path (absolute or relative)
the file separator to use. Defaults to the value of the "file.separator" property.
the directory portion
Split a path into directory (dirname) and file (basename) components.
Split a path into directory (dirname) and file (basename) components.
Analogous to Python's os.path.pathsplit()
function.
the path to split
the file separator to use. Defaults to the value of the "file.separator" property.
a (dirname, basename) tuple of strings
Split a pathname into the directory name, basename, and extension pieces.
Split a pathname into the directory name, basename, and extension pieces.
the pathname
the file separator to use. Defaults to the value of the "file.separator" property.
a 3-tuple of (dirname, basename, extension)
An extended glob function that supports all the wildcards of
the glob()
function, in addition to:
An extended glob function that supports all the wildcards of
the glob()
function, in addition to:
~
, signifying the user's home directory**
wildcard that recursively matches any directory.
(Think "ant".)~user is not supported, however.
the wildcard pattern
list of matches, or an empty list for none
Similar to Python's fnmatch()
function, this function determines
whether a string matches a wildcard pattern.
Similar to Python's fnmatch()
function, this function determines
whether a string matches a wildcard pattern. Patterns are Unix-style
shell-style wildcards:
*
matches everything?
matches any single character[set]
matches any character in set[!set]
matches any character not in setAn initial period in filename
is not special. Matches are
case-sensitive on Posix operating systems, case-insensitive elsewhere.
the name to match
the wildcard pattern
Return a list of paths matching a pathname pattern.
Return a list of paths matching a pathname pattern. The pattern may
contain simple shell-style wildcards. See fnmatch()
. This function
is essentially a direct port of the Python glob.glob()
function.
Restrictions:
- There's currently no way to escape a wildcard character. That is,
if you need to match a '*' character or a '?' character exactly,
you can't do that with this library. (You can't do it with the
glob
library in Python 2 or Python 3, either.)
The path to expand.
a list of possibly expanded file names
Join components of a path together, using the file separator of the currently running system
Join components of a path together, using the file separator of the currently running system
path pieces
a composite path
Join components of a path together, using the file separator of the currently running system
Join components of a path together, using the file separator of the currently running system
path pieces
a composite path
Join components of a path together.
Join components of a path together.
the file separator to use
path pieces
a composite path
List a directory recursively, returning File
objects for each file
(and subdirectory) found.
List a directory recursively, returning File
objects for each file
(and subdirectory) found. This method does lazy evaluation, instead
of calculating everything up-front, as walk()
does.
The File
object, presumed to represent a directory.
If true
(the default), the stream will be generated
top down. If false
, it'll be generated bottom-up.
a stream of File
objects.
Converts a path name from universal path notation to the operating system-specific format.
Converts a path name from universal path notation to the operating
system-specific format. Universal path notation always uses a
Unix-style "/" to separate path elements. A native path can be
converted to a universal path via the universal_path()
function. Note that on POSIX-compliant systems, this function simply
returns the path
parameter unmodified.
the path to convert from universtal to native path notation
the native path
Normalize a path, eliminating double slashes, resolving embedded ".
Normalize a path, eliminating double slashes, resolving embedded ".." strings (e.g., "/foo/../bar" becomes "/bar"), etc. Works for Windows and Posix operating systems.
the path
the normalized path
Adapted from the Python version of normpath() in Python's
os.posixpath
module.
Adapted from the Python version of normpath() in Python's
os.posixpath
module.
the path
the normalized path
Normalize a Windows path name.
Normalize a Windows path name. Handles UNC paths. Adapted from the
Python version of normpath() in Python's os.ntpath
module.
the path
the normalized path
Return the current working directory, as an absolute path.
Return the current working directory, as an absolute path.
the current working directory
Calculate the relative path between two files.
Calculate the relative path between two files.
the starting file
the file to be converted to a relative path
the (String) relative path
Split a Windows-style path into drive name and path portions.
Split a Windows-style path into drive name and path portions.
the path
a (drive, path) tuple, either component of which can be * an empty string
Split a path into its constituent components.
Split a path into its constituent components. If the path is absolute, the first piece will have a file separator in the beginning. Examples:
Input | Output |
---|---|
"" | List("") |
"/" | List("/") |
"foo" | List("foo") |
"foo/bar" | List("foo", "bar") |
"." | List(".") |
"../foo" | List("..", "foo") |
"./foo" | List(".", "foo") |
"/foo/bar/baz" | List("/foo", "bar", "baz") |
"foo/bar/baz" | List("foo", "bar", "baz") |
"/foo" | List("/foo") |
the path
the file separator to use. Defaults to the value of the "file.separator" property.
the component pieces.
Determine the temporary directory to use.
Determine the temporary directory to use.
the temporary directory
Similar to the Unix touch
command, this function:
Similar to the Unix touch
command, this function:
If the file is a directory, this method will return an error.
The file to touch
Set the last-modified time to this time, or to the current time if this parameter is negative.
Failure(exception)
on error, Success(true)
on success
Similar to the Unix touch command, this function:
Similar to the Unix touch command, this function:
If any file in the list is a directory, this method will return an error.
Iterable of files to touch
Set the last-modified time to this time, or to the current time if this parameter is negative.
Failure(exception)
on error. Success(total)
on success.
Converts a path name from its operating system-specific format to a universal path notation.
Converts a path name from its operating system-specific format to a
universal path notation. Universal path notation always uses a
Unix-style "/" to separate path elements. A universal path can be
converted to a native (operating system-specific) path via the
native_path()
function. Note that on POSIX-compliant systems,
this function simply returns the path
parameter unmodified.
the path to convert to universal path notation
the universal path
Directory tree generator, adapted from Python's os.walk()
function.
Directory tree generator, adapted from Python's os.walk()
function.
For each directory in the directory tree rooted at top (including top itself, but excluding '.' and '..'), yields a 3-tuple
(dirpath, dirnames, filenames)
dirpath is a string, the path to the directory. dirnames is a
list of the names of the subdirectories in dirpath (excluding '.'
and '..'). filenames is a list of the names of the non-directory
files in dirpath. Note that the names in the lists are just names,
with no path components. To get a full path (which begins with top) to a
file or directory in dirpath, use dirpath + java.io.fileSeparator +
name
, or use joinPath()
.
If topdown is true
, the triple for a directory is generated before
the triples for any of its subdirectories (directories are generated top
down). If topdown
is false
, the triple for a directory is generated
after the triples for all of its subdirectories (directories are generated
bottom up).
WARNING! This method does not grok symbolic links!
name of starting directory
true
to do a top-down traversal, false
otherwise.
List of triplets, as described above.
Allow execution of a block of code within the context of a temporary directory.
Allow execution of a block of code within the context of a temporary directory. The temporary directory is cleaned up after the operation completes.
file name prefix to use
action to perform
whatever the action returns
Useful file-related utility functions.