public interface Path
extends Comparable<Path>, Iterable<Path>, Watchable
1. APath
represents a path that is hierarchical and composed of a sequence of directory and file name elements separated by a special separator or delimiter.
2. A root component, that identifies a file system hierarchy, may also be present.
3. The name element that is farthest from the root of the directory hierarchy is the name of a file or directory. The other name elements are directory names.
4. APath
can represent a root, a root and a sequence of names, or simply one or more name elements.
5. APath
is considered to be an empty path if it consists solely of one name element that is empty.
6. Accessing a file using an empty path is equivalent to accessing the default directory of the file system.
method classify:
1.Path
defines thegetFileName
,getParent
,getRoot
, andsubpath
methods to access the path components or a subsequence of its name elements.
2. In addition to accessing the components of a path, aPath
also defines theresolve
andresolveSibling
methods to combine paths.
3. Therelativize
method that can be used to construct a relative path between two paths. Paths can becompared
,
and tested against each other using thestartsWith
andendWith
methods.
4. This interface extendsWatchable
interface so that a directory located by a path can beregistered
with aWatchService
and entries in the directory watched.
accessing files:
1. Paths may be used with theFiles
class to operate on files, directories, and other types of files.
For example, suppose we want aBufferedReader
to read text from a file "access.log
".
The file is located in a directory "logs
" relative to the current working directory and is UTF-8 encoded.
1 Path path = FileSystems.getDefault().getPath("logs", "access.log"); 2 BufferReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
Interoperability:
1. ThetoPath
method may be used to obtain aPath
from the abstract path name represented by ajava.io.File
object.
The resultingPath
can be used to operate on the same file as thejava.io.File
object.
2. In addition, thetoFile
method is useful to construct aFile
from theString
representation of aPath
.
concurrency:
Implementations of this interface are immutable and safe for use by multiple concurrent threads.
method:
方法签名 | 意义 |
int compareTo(Path other) | 按顺序比较两个路径 |
boolean endsWith(Path other) | 测试一个Path对象是否以给定的path为结尾 |
boolean endsWith(String other) | 测试一个Path对象是否以给定的字符串为结尾,字符串会转换为Path对象 |
boolean equals(Object other) | |
Path getFileName() | |
FileSystem getFileSystem() | 返回创建Path对象的文件系统对象 |
Path getName(int index) | 以Path对象返回路径对象中一个名字组成 |
int getNameCount() | Returns the number of name elements in the path. |
Path getParent() | Returns the parent path, or null if this path does not have a parent. |
Path getRoot() | Returns the root component of this path as a Path object, or null if this path does not have a root component. |
boolean isAbsolute() | Tells whether or not this path is absolute. |
Iterator<Path> iterator() | Returns an iterator over the name elements of this path. |
Path normalize() | 移除诸如. 和.. 等冗余的路径元素。 |
register(WatchService watcher, WatchEvent.Kind<?>... events) |
Registers the file located by this path with a watch service. |
WatchKey register(WatchService watcher, WatchEvent.Kind<?>[] events, WatchEvent.Modifier... modifiers) | Registers the file located by this path with a watch service. |
Path relativize(Path other) | 返回用this 进行解析,相对于other 的相对路径。 |
Path resolve(Path other) | 如果other 是绝对路径,那么就返回other ;否则,返回通过连接this 和other 获得的路径。 |
Path resolve(String other) | 如果other 是绝对路径,那么就返回other ;否则,返回通过连接this 和other 获得的路径。 |
Path resolveSibling(Path other) | 如果other 是绝对路径,那么就返回other ;否则,返回通过连接this 的父路径和other 获得的路径。 |
Path resolveSibling(String other) | 如果other 是绝对路径,那么就返回other ;否则,返回通过连接this 的父路径和other 获得的路径。 |
boolean startsWith(Path other) | 类似endsWith |
boolean startsWith(String other) | 类似endsWith |
Path subpath(int beginIndex, int endIndex) | Returns a relative Path that is a subsequence of the name elements of this path. |
Path toAbsolutePath() | Returns a Path object representing the absolute path of this path. |
File toFile() | Returns a File object representing this path. |
Path toRealPath(LinkOption... options) | Returns the real path of an existing file. |
URI toUri() | Returns a URI to represent this path. |