public final class PathUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
PathUtils.RelativeSortedPaths
Private worker/holder that computes and tracks relative path names and their equality.
|
Modifier and Type | Field and Description |
---|---|
static java.nio.file.CopyOption[] |
EMPTY_COPY_OPTIONS
Empty
CopyOption array. |
static DeleteOption[] |
EMPTY_DELETE_OPTION_ARRAY
Empty
LinkOption array. |
static java.nio.file.FileVisitOption[] |
EMPTY_FILE_VISIT_OPTION_ARRAY
Empty
FileVisitOption array. |
static java.nio.file.LinkOption[] |
EMPTY_LINK_OPTION_ARRAY
Empty
LinkOption array. |
static java.nio.file.OpenOption[] |
EMPTY_OPEN_OPTION_ARRAY
Empty
OpenOption array. |
static java.nio.file.Path[] |
EMPTY_PATH_ARRAY
Empty
Path array. |
static java.nio.file.LinkOption[] |
NOFOLLOW_LINK_OPTION_ARRAY
LinkOption array for LinkOption.NOFOLLOW_LINKS . |
Modifier | Constructor and Description |
---|---|
private |
PathUtils()
Does allow to instantiate.
|
Modifier and Type | Method and Description |
---|---|
private static AccumulatorPathVisitor |
accumulate(java.nio.file.Path directory,
int maxDepth,
java.nio.file.FileVisitOption[] fileVisitOptions)
Accumulates file tree information in a
AccumulatorPathVisitor . |
static Counters.PathCounters |
cleanDirectory(java.nio.file.Path directory)
Cleans a directory including sub-directories without deleting directories.
|
static Counters.PathCounters |
cleanDirectory(java.nio.file.Path directory,
DeleteOption... deleteOptions)
Cleans a directory including sub-directories without deleting directories.
|
static Counters.PathCounters |
copyDirectory(java.nio.file.Path sourceDirectory,
java.nio.file.Path targetDirectory,
java.nio.file.CopyOption... copyOptions)
Copies a directory to another directory.
|
static java.nio.file.Path |
copyFile(java.net.URL sourceFile,
java.nio.file.Path targetFile,
java.nio.file.CopyOption... copyOptions)
Copies a URL to a directory.
|
static java.nio.file.Path |
copyFileToDirectory(java.nio.file.Path sourceFile,
java.nio.file.Path targetDirectory,
java.nio.file.CopyOption... copyOptions)
Copies a file to a directory.
|
static java.nio.file.Path |
copyFileToDirectory(java.net.URL sourceFile,
java.nio.file.Path targetDirectory,
java.nio.file.CopyOption... copyOptions)
Copies a URL to a directory.
|
static Counters.PathCounters |
countDirectory(java.nio.file.Path directory)
Counts aspects of a directory including sub-directories.
|
static java.nio.file.Path |
createParentDirectories(java.nio.file.Path path,
java.nio.file.attribute.FileAttribute<?>... attrs)
Creates the parent directories for the given
path . |
static java.nio.file.Path |
current()
Gets the current directory.
|
static Counters.PathCounters |
delete(java.nio.file.Path path)
Deletes a file or directory.
|
static Counters.PathCounters |
delete(java.nio.file.Path path,
DeleteOption... deleteOptions)
Deletes a file or directory.
|
static Counters.PathCounters |
delete(java.nio.file.Path path,
java.nio.file.LinkOption[] linkOptions,
DeleteOption... deleteOptions)
Deletes a file or directory.
|
static Counters.PathCounters |
deleteDirectory(java.nio.file.Path directory)
Deletes a directory including sub-directories.
|
static Counters.PathCounters |
deleteDirectory(java.nio.file.Path directory,
DeleteOption... deleteOptions)
Deletes a directory including sub-directories.
|
static Counters.PathCounters |
deleteDirectory(java.nio.file.Path directory,
java.nio.file.LinkOption[] linkOptions,
DeleteOption... deleteOptions)
Deletes a directory including sub-directories.
|
static Counters.PathCounters |
deleteFile(java.nio.file.Path file)
Deletes the given file.
|
static Counters.PathCounters |
deleteFile(java.nio.file.Path file,
DeleteOption... deleteOptions)
Deletes the given file.
|
static Counters.PathCounters |
deleteFile(java.nio.file.Path file,
java.nio.file.LinkOption[] linkOptions,
DeleteOption... deleteOptions)
Deletes the given file.
|
static boolean |
directoryAndFileContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2)
Compares the file sets of two Paths to determine if they are equal or not while considering file contents.
|
static boolean |
directoryAndFileContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2,
java.nio.file.LinkOption[] linkOptions,
java.nio.file.OpenOption[] openOptions,
java.nio.file.FileVisitOption[] fileVisitOption)
Compares the file sets of two Paths to determine if they are equal or not while considering file contents.
|
static boolean |
directoryContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2)
Compares the file sets of two Paths to determine if they are equal or not without considering file contents.
|
static boolean |
directoryContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2,
int maxDepth,
java.nio.file.LinkOption[] linkOptions,
java.nio.file.FileVisitOption[] fileVisitOptions)
Compares the file sets of two Paths to determine if they are equal or not without considering file contents.
|
static boolean |
fileContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2)
Compares the file contents of two Paths to determine if they are equal or not.
|
static boolean |
fileContentEquals(java.nio.file.Path path1,
java.nio.file.Path path2,
java.nio.file.LinkOption[] linkOptions,
java.nio.file.OpenOption[] openOptions)
Compares the file contents of two Paths to determine if they are equal or not.
|
static java.nio.file.Path[] |
filter(PathFilter filter,
java.nio.file.Path... paths)
Applies an
IOFileFilter to the provided File objects. |
private static <R,A> R |
filterPaths(PathFilter filter,
java.util.stream.Stream<java.nio.file.Path> stream,
java.util.stream.Collector<? super java.nio.file.Path,A,R> collector) |
static java.util.List<java.nio.file.attribute.AclEntry> |
getAclEntryList(java.nio.file.Path sourcePath)
Reads the access control list from a file attribute view.
|
static boolean |
isDirectory(java.nio.file.Path path,
java.nio.file.LinkOption... options)
Tests whether the specified
Path is a directory or not. |
static boolean |
isEmpty(java.nio.file.Path path)
Tests whether the given file or directory is empty.
|
static boolean |
isEmptyDirectory(java.nio.file.Path directory)
Tests whether the directory is empty.
|
static boolean |
isEmptyFile(java.nio.file.Path file)
Tests whether the given file is empty.
|
static boolean |
isNewer(java.nio.file.Path file,
long timeMillis,
java.nio.file.LinkOption... options)
Tests if the specified
Path is newer than the specified time reference. |
static boolean |
isRegularFile(java.nio.file.Path path,
java.nio.file.LinkOption... options)
Tests whether the specified
Path is a regular file or not. |
static java.nio.file.DirectoryStream<java.nio.file.Path> |
newDirectoryStream(java.nio.file.Path dir,
PathFilter pathFilter)
Creates a new DirectoryStream for Paths rooted at the given directory.
|
private static boolean |
overrideReadOnly(DeleteOption... deleteOptions)
Returns true if the given options contain
StandardDeleteOption.OVERRIDE_READ_ONLY . |
static java.nio.file.attribute.BasicFileAttributes |
readBasicFileAttributes(java.nio.file.Path path)
Shorthand for
Files.readAttributes(path, BasicFileAttributes.class) |
static java.nio.file.attribute.BasicFileAttributes |
readBasicFileAttributesUnchecked(java.nio.file.Path path)
Shorthand for
Files.readAttributes(path, BasicFileAttributes.class) while wrapping IOException
as UncheckedIOException . |
(package private) static java.util.List<java.nio.file.Path> |
relativize(java.util.Collection<java.nio.file.Path> collection,
java.nio.file.Path parent,
boolean sort,
java.util.Comparator<? super java.nio.file.Path> comparator)
Relativizes all files in the given
collection against a parent . |
static java.nio.file.Path |
setReadOnly(java.nio.file.Path path,
boolean readOnly,
java.nio.file.LinkOption... linkOptions)
Sets the given Path to the
readOnly value. |
(package private) static java.util.Set<java.nio.file.FileVisitOption> |
toFileVisitOptionSet(java.nio.file.FileVisitOption... fileVisitOptions)
Converts an array of
FileVisitOption to a Set . |
static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> |
visitFileTree(T visitor,
java.nio.file.Path directory)
Performs
Files.walkFileTree(Path,FileVisitor) and returns the given visitor. |
static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> |
visitFileTree(T visitor,
java.nio.file.Path start,
java.util.Set<java.nio.file.FileVisitOption> options,
int maxDepth)
Performs
Files.walkFileTree(Path,FileVisitor) and returns the given visitor. |
static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> |
visitFileTree(T visitor,
java.lang.String first,
java.lang.String... more)
Performs
Files.walkFileTree(Path,FileVisitor) and returns the given visitor. |
static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> |
visitFileTree(T visitor,
java.net.URI uri)
Performs
Files.walkFileTree(Path,FileVisitor) and returns the given visitor. |
static java.util.stream.Stream<java.nio.file.Path> |
walk(java.nio.file.Path start,
PathFilter pathFilter,
int maxDepth,
boolean readAttributes,
java.nio.file.FileVisitOption... options)
Returns a stream of filtered paths.
|
public static final java.nio.file.CopyOption[] EMPTY_COPY_OPTIONS
CopyOption
array.public static final DeleteOption[] EMPTY_DELETE_OPTION_ARRAY
LinkOption
array.public static final java.nio.file.FileVisitOption[] EMPTY_FILE_VISIT_OPTION_ARRAY
FileVisitOption
array.public static final java.nio.file.LinkOption[] EMPTY_LINK_OPTION_ARRAY
LinkOption
array.public static final java.nio.file.LinkOption[] NOFOLLOW_LINK_OPTION_ARRAY
LinkOption
array for LinkOption.NOFOLLOW_LINKS
.public static final java.nio.file.OpenOption[] EMPTY_OPEN_OPTION_ARRAY
OpenOption
array.public static final java.nio.file.Path[] EMPTY_PATH_ARRAY
Path
array.private static AccumulatorPathVisitor accumulate(java.nio.file.Path directory, int maxDepth, java.nio.file.FileVisitOption[] fileVisitOptions) throws java.io.IOException
AccumulatorPathVisitor
.directory
- The directory to accumulate information.maxDepth
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.fileVisitOptions
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters cleanDirectory(java.nio.file.Path directory) throws java.io.IOException
directory
- directory to clean.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters cleanDirectory(java.nio.file.Path directory, DeleteOption... deleteOptions) throws java.io.IOException
directory
- directory to clean.deleteOptions
- How to handle deletion.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters copyDirectory(java.nio.file.Path sourceDirectory, java.nio.file.Path targetDirectory, java.nio.file.CopyOption... copyOptions) throws java.io.IOException
sourceDirectory
- The source directory.targetDirectory
- The target directory.copyOptions
- Specifies how the copying should be done.java.io.IOException
- if an I/O error is thrown by a visitor method.public static java.nio.file.Path copyFile(java.net.URL sourceFile, java.nio.file.Path targetFile, java.nio.file.CopyOption... copyOptions) throws java.io.IOException
sourceFile
- The source URL.targetFile
- The target file.copyOptions
- Specifies how the copying should be done.java.io.IOException
- if an I/O error occurs.Files.copy(InputStream, Path, CopyOption...)
public static java.nio.file.Path copyFileToDirectory(java.nio.file.Path sourceFile, java.nio.file.Path targetDirectory, java.nio.file.CopyOption... copyOptions) throws java.io.IOException
sourceFile
- The source file.targetDirectory
- The target directory.copyOptions
- Specifies how the copying should be done.java.io.IOException
- if an I/O error occurs.Files.copy(Path, Path, CopyOption...)
public static java.nio.file.Path copyFileToDirectory(java.net.URL sourceFile, java.nio.file.Path targetDirectory, java.nio.file.CopyOption... copyOptions) throws java.io.IOException
sourceFile
- The source URL.targetDirectory
- The target directory.copyOptions
- Specifies how the copying should be done.java.io.IOException
- if an I/O error occurs.Files.copy(InputStream, Path, CopyOption...)
public static Counters.PathCounters countDirectory(java.nio.file.Path directory) throws java.io.IOException
directory
- directory to delete.java.io.IOException
- if an I/O error is thrown by a visitor method.public static java.nio.file.Path createParentDirectories(java.nio.file.Path path, java.nio.file.attribute.FileAttribute<?>... attrs) throws java.io.IOException
path
.path
- The path to a file (or directory).attrs
- An optional list of file attributes to set atomically when creating the directories.path
's parent directory or null if the given path has no parent.java.io.IOException
- if an I/O error occurs.public static java.nio.file.Path current()
public static Counters.PathCounters delete(java.nio.file.Path path) throws java.io.IOException
The difference between File.delete() and this method are:
File.delete()
returns a
boolean.
path
- file or directory to delete, must not be null
java.lang.NullPointerException
- if the directory is null
java.io.IOException
- if an I/O error is thrown by a visitor method or if an I/O error occurs.public static Counters.PathCounters delete(java.nio.file.Path path, DeleteOption... deleteOptions) throws java.io.IOException
The difference between File.delete() and this method are:
File.delete()
returns a
boolean.
path
- file or directory to delete, must not be null
deleteOptions
- How to handle deletion.java.lang.NullPointerException
- if the directory is null
java.io.IOException
- if an I/O error is thrown by a visitor method or if an I/O error occurs.public static Counters.PathCounters delete(java.nio.file.Path path, java.nio.file.LinkOption[] linkOptions, DeleteOption... deleteOptions) throws java.io.IOException
The difference between File.delete() and this method are:
File.delete()
returns a
boolean.
path
- file or directory to delete, must not be null
linkOptions
- How to handle symbolic links.deleteOptions
- How to handle deletion.java.lang.NullPointerException
- if the directory is null
java.io.IOException
- if an I/O error is thrown by a visitor method or if an I/O error occurs.public static Counters.PathCounters deleteDirectory(java.nio.file.Path directory) throws java.io.IOException
directory
- directory to delete.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters deleteDirectory(java.nio.file.Path directory, DeleteOption... deleteOptions) throws java.io.IOException
directory
- directory to delete.deleteOptions
- How to handle deletion.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters deleteDirectory(java.nio.file.Path directory, java.nio.file.LinkOption[] linkOptions, DeleteOption... deleteOptions) throws java.io.IOException
directory
- directory to delete.linkOptions
- How to handle symbolic links.deleteOptions
- How to handle deletion.java.io.IOException
- if an I/O error is thrown by a visitor method.public static Counters.PathCounters deleteFile(java.nio.file.Path file) throws java.io.IOException
file
- The file to delete.java.io.IOException
- if an I/O error occurs.java.nio.file.NoSuchFileException
- if the file is a directory.public static Counters.PathCounters deleteFile(java.nio.file.Path file, DeleteOption... deleteOptions) throws java.io.IOException
file
- The file to delete.deleteOptions
- How to handle deletion.java.io.IOException
- if an I/O error occurs.java.nio.file.NoSuchFileException
- if the file is a directory.public static Counters.PathCounters deleteFile(java.nio.file.Path file, java.nio.file.LinkOption[] linkOptions, DeleteOption... deleteOptions) throws java.nio.file.NoSuchFileException, java.io.IOException
file
- The file to delete.linkOptions
- How to handle symbolic links.deleteOptions
- How to handle deletion.java.io.IOException
- if an I/O error occurs.java.nio.file.NoSuchFileException
- if the file is a directory.public static boolean directoryAndFileContentEquals(java.nio.file.Path path1, java.nio.file.Path path2) throws java.io.IOException
path1
- The first directory.path2
- The second directory.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static boolean directoryAndFileContentEquals(java.nio.file.Path path1, java.nio.file.Path path2, java.nio.file.LinkOption[] linkOptions, java.nio.file.OpenOption[] openOptions, java.nio.file.FileVisitOption[] fileVisitOption) throws java.io.IOException
path1
- The first directory.path2
- The second directory.linkOptions
- options to follow links.openOptions
- options to open files.fileVisitOption
- options to configure traversal.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static boolean directoryContentEquals(java.nio.file.Path path1, java.nio.file.Path path2) throws java.io.IOException
path1
- The first directory.path2
- The second directory.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static boolean directoryContentEquals(java.nio.file.Path path1, java.nio.file.Path path2, int maxDepth, java.nio.file.LinkOption[] linkOptions, java.nio.file.FileVisitOption[] fileVisitOptions) throws java.io.IOException
path1
- The first directory.path2
- The second directory.maxDepth
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.linkOptions
- options to follow links.fileVisitOptions
- options to configure the traversaljava.io.IOException
- if an I/O error is thrown by a visitor methodpublic static boolean fileContentEquals(java.nio.file.Path path1, java.nio.file.Path path2) throws java.io.IOException
File content is accessed through Files.newInputStream(Path,OpenOption...)
.
path1
- the first stream.path2
- the second stream.java.lang.NullPointerException
- if either input is null.java.io.IOException
- if an I/O error occurs.FileUtils.contentEquals(java.io.File, java.io.File)
public static boolean fileContentEquals(java.nio.file.Path path1, java.nio.file.Path path2, java.nio.file.LinkOption[] linkOptions, java.nio.file.OpenOption[] openOptions) throws java.io.IOException
File content is accessed through Files.newInputStream(Path,OpenOption...)
.
path1
- the first stream.path2
- the second stream.linkOptions
- options specifying how files are followed.openOptions
- options specifying how files are opened.java.lang.NullPointerException
- if either input is null.java.io.IOException
- if an I/O error occurs.FileUtils.contentEquals(java.io.File, java.io.File)
public static java.nio.file.Path[] filter(PathFilter filter, java.nio.file.Path... paths)
Applies an IOFileFilter
to the provided File
objects. The resulting array is a subset of the
original file list that matches the provided filter.
The Set
returned by this method is not guaranteed to be thread safe.
Set<File> allFiles = ... Set<File> javaFiles = FileFilterUtils.filterSet(allFiles, FileFilterUtils.suffixFileFilter(".java"));
filter
- the filter to apply to the set of files.paths
- the array of files to apply the filter to.files
that is accepted by the file filter.java.lang.IllegalArgumentException
- if the filter is null
or files
contains a null
value.private static <R,A> R filterPaths(PathFilter filter, java.util.stream.Stream<java.nio.file.Path> stream, java.util.stream.Collector<? super java.nio.file.Path,A,R> collector)
public static java.util.List<java.nio.file.attribute.AclEntry> getAclEntryList(java.nio.file.Path sourcePath) throws java.io.IOException
sourcePath
- the path to the file.java.io.IOException
- if an I/O error occurs.public static boolean isDirectory(java.nio.file.Path path, java.nio.file.LinkOption... options)
Path
is a directory or not. Implemented as a
null-safe delegate to Files.isDirectory(Path path, LinkOption... options)
.path
- the path to the file.options
- options indicating how symbolic links are handledtrue
if the file is a directory; false
if
the path is null, the file does not exist, is not a directory, or it cannot
be determined if the file is a directory or not.java.lang.SecurityException
- In the case of the default provider, and a security manager is installed, the
checkRead
method is invoked to check read
access to the directory.public static boolean isEmpty(java.nio.file.Path path) throws java.io.IOException
path
- the file or directory to query.java.io.IOException
- if an I/O error occurs.public static boolean isEmptyDirectory(java.nio.file.Path directory) throws java.io.IOException
directory
- the directory to query.java.nio.file.NotDirectoryException
- if the file could not otherwise be opened because it is not a directory
(optional specific exception).java.io.IOException
- if an I/O error occurs.java.lang.SecurityException
- In the case of the default provider, and a security manager is installed, the
checkRead
method is invoked to check read
access to the directory.public static boolean isEmptyFile(java.nio.file.Path file) throws java.io.IOException
file
- the file to query.java.io.IOException
- if an I/O error occurs.java.lang.SecurityException
- In the case of the default provider, and a security manager is installed, its
checkRead
method denies read access to the
file.public static boolean isNewer(java.nio.file.Path file, long timeMillis, java.nio.file.LinkOption... options) throws java.io.IOException
Path
is newer than the specified time reference.file
- the Path
of which the modification date must be comparedtimeMillis
- the time reference measured in milliseconds since the epoch (00:00:00 GMT, January 1, 1970)options
- options indicating how symbolic links are handled * @return true if the Path
exists and
has been modified after the given time reference.Path
exists and has been modified after the given time reference.java.io.IOException
- if an I/O error occurs.java.lang.NullPointerException
- if the file is null
public static boolean isRegularFile(java.nio.file.Path path, java.nio.file.LinkOption... options)
Path
is a regular file or not. Implemented as a
null-safe delegate to Files.isRegularFile(Path path, LinkOption... options)
.path
- the path to the file.options
- options indicating how symbolic links are handledtrue
if the file is a regular file; false
if
the path is null, the file does not exist, is not a directory, or it cannot
be determined if the file is a regular file or not.java.lang.SecurityException
- In the case of the default provider, and a security manager is installed, the
checkRead
method is invoked to check read
access to the directory.public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path dir, PathFilter pathFilter) throws java.io.IOException
dir
- the path to the directory to stream.pathFilter
- the directory stream filter.java.io.IOException
- if an I/O error occurs.private static boolean overrideReadOnly(DeleteOption... deleteOptions)
StandardDeleteOption.OVERRIDE_READ_ONLY
.deleteOptions
- the array to testStandardDeleteOption.OVERRIDE_READ_ONLY
.public static java.nio.file.attribute.BasicFileAttributes readBasicFileAttributes(java.nio.file.Path path) throws java.io.IOException
Files.readAttributes(path, BasicFileAttributes.class)
path
- the path to read.java.io.IOException
- if an I/O error occurs.public static java.nio.file.attribute.BasicFileAttributes readBasicFileAttributesUnchecked(java.nio.file.Path path)
Files.readAttributes(path, BasicFileAttributes.class)
while wrapping IOException
as UncheckedIOException
.path
- the path to read.java.io.UncheckedIOException
- if an I/O error occursstatic java.util.List<java.nio.file.Path> relativize(java.util.Collection<java.nio.file.Path> collection, java.nio.file.Path parent, boolean sort, java.util.Comparator<? super java.nio.file.Path> comparator)
collection
against a parent
.collection
- The collection of paths to relativize.parent
- relativizes against this parent path.sort
- Whether to sort the result.comparator
- How to sort.public static java.nio.file.Path setReadOnly(java.nio.file.Path path, boolean readOnly, java.nio.file.LinkOption... linkOptions) throws java.io.IOException
readOnly
value.
This behavior is OS dependent.
path
- The path to set.readOnly
- true for read-only, false for not read-only.linkOptions
- options indicating how symbolic links are handled.java.io.IOException
- if an I/O error occurs.static java.util.Set<java.nio.file.FileVisitOption> toFileVisitOptionSet(java.nio.file.FileVisitOption... fileVisitOptions)
FileVisitOption
to a Set
.fileVisitOptions
- input array.public static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> T visitFileTree(T visitor, java.nio.file.Path directory) throws java.io.IOException
Files.walkFileTree(Path,FileVisitor)
and returns the given visitor.
Note that Files.walkFileTree(Path,FileVisitor)
returns the given path.T
- See Files.walkFileTree(Path,FileVisitor)
.visitor
- See Files.walkFileTree(Path,FileVisitor)
.directory
- See Files.walkFileTree(Path,FileVisitor)
.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> T visitFileTree(T visitor, java.nio.file.Path start, java.util.Set<java.nio.file.FileVisitOption> options, int maxDepth) throws java.io.IOException
Files.walkFileTree(Path,FileVisitor)
and returns the given visitor.
Note that Files.walkFileTree(Path,FileVisitor)
returns the given path.T
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.start
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.options
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.maxDepth
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.visitor
- See Files.walkFileTree(Path,Set,int,FileVisitor)
.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> T visitFileTree(T visitor, java.lang.String first, java.lang.String... more) throws java.io.IOException
Files.walkFileTree(Path,FileVisitor)
and returns the given visitor.
Note that Files.walkFileTree(Path,FileVisitor)
returns the given path.T
- See Files.walkFileTree(Path,FileVisitor)
.visitor
- See Files.walkFileTree(Path,FileVisitor)
.first
- See Paths.get(String,String[])
.more
- See Paths.get(String,String[])
.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static <T extends java.nio.file.FileVisitor<? super java.nio.file.Path>> T visitFileTree(T visitor, java.net.URI uri) throws java.io.IOException
Files.walkFileTree(Path,FileVisitor)
and returns the given visitor.
Note that Files.walkFileTree(Path,FileVisitor)
returns the given path.T
- See Files.walkFileTree(Path,FileVisitor)
.visitor
- See Files.walkFileTree(Path,FileVisitor)
.uri
- See Paths.get(URI)
.java.io.IOException
- if an I/O error is thrown by a visitor methodpublic static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path start, PathFilter pathFilter, int maxDepth, boolean readAttributes, java.nio.file.FileVisitOption... options) throws java.io.IOException
start
- the start pathpathFilter
- the path filtermaxDepth
- the maximum depth of directories to walk.readAttributes
- whether to call the filters with file attributes (false passes null).options
- the options to configure the walk.java.io.IOException
- if an I/O error is thrown when accessing the starting file.