public final class Paths extends Object

This class consists exclusively of static methods that return a Path by converting a path string or URI.

Public Method Summary

static Path
get(URI uri)
Converts the given URI to a Path object.
static Path
get(String first, String... more)
Converts a path string, or a sequence of strings that when joined form a path string, to a Path.

Inherited Method Summary

Public Methods

public static Path get (URI uri)

Converts the given URI to a Path object.

This method iterates over the installed providers to locate the provider that is identified by the URI scheme of the given URI. URI schemes are compared without regard to case. If the provider is found then its getPath method is invoked to convert the URI.

In the case of the default provider, identified by the URI scheme "file", the given URI has a non-empty path component, and undefined query and fragment components. Whether the authority component may be present is platform specific. The returned Path is associated with the default file system.

The default provider provides a similar round-trip guarantee to the File class. For a given Path p it is guaranteed that

Paths.get(p.toUri()).equals( p.toAbsolutePath())
so long as the original Path, the URI, and the new Path are all created in (possibly different invocations of) the same Java virtual machine. Whether other providers make any guarantees is provider specific and therefore unspecified.

uri the URI to convert
  • the resulting Path
IllegalArgumentException if preconditions on the uri parameter do not hold. The format of the URI is provider specific.
FileSystemNotFoundException The file system, identified by the URI, does not exist and cannot be created automatically, or the provider identified by the URI's scheme component is not installed
SecurityException if a security manager is installed and it denies an unspecified permission to access the file system

public static Path get (String first, String... more)

Converts a path string, or a sequence of strings that when joined form a path string, to a Path. If more does not specify any elements then the value of the first parameter is the path string to convert. If more specifies one or more elements then each non-empty string, including first, is considered to be a sequence of name elements (see Path) and is joined to form a path string. The details as to how the Strings are joined is provider specific but typically they will be joined using the name-separator as the separator. For example, if the name separator is "/" and getPath("/foo","bar","gus") is invoked, then the path string "/foo/bar/gus" is converted to a Path. A Path representing an empty path is returned if first is the empty string and more does not contain any non-empty strings.

The Path is obtained by invoking the getPath method of the default FileSystem.

Note that while this method is very convenient, using it will imply an assumed reference to the default FileSystem and limit the utility of the calling code. Hence it should not be used in library code intended for flexible reuse. A more flexible alternative is to use an existing Path instance as an anchor, such as:

     Path dir = ...
     Path path = dir.resolve("file");

first the path string or initial part of the path string
more additional strings to be joined to form the path string
  • the resulting Path
InvalidPathException if the path string cannot be converted to a Path