Class Paths


public final class Paths
extends Object

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

Since:
1.7

Methods

Modifier and Type Method and Description
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.

static Path get(URI uri)

Converts the given URI to a Path object.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

get

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");
Parameters:
first - the path string or initial part of the path string
more - additional strings to be joined to form the path string
Returns:
the resulting Path
Throws:
InvalidPathException - if the path string cannot be converted to a Path
See Also:
FileSystem.getPath(java.lang.String, java.lang.String...)

get

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.
Parameters:
uri - the URI to convert
Returns:
the resulting Path
Throws:
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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html