操作文件-Path
Java操作文件-Path
Paths
- 参数说明
first
:必选参数,表示路径的第一个组件。more
:可选参数,表示路径的其他组件,可以传入多个。
创建路径对象
// 创建一个表示当前工作目录的Path对象
Path currentPath = Paths.get("");
System.out.println("Current Path: " + currentPath);
// 创建一个表示绝对路径的Path对象
Path absolutePath = Paths.get("C:/Users/username/Documents");
System.out.println("Absolute Path: " + absolutePath);
// 创建一个表示相对路径的Path对象
Path relativePath = Paths.get("src/main/java/com/example");
System.out.println("Relative Path: " + relativePath);
// 创建一个带有多个路径组件的Path对象
Path nestedPath = Paths.get("C:/", "Users", "username", "Documents", "JavaProjects");
System.out.println("Nested Path: " + nestedPath);
Path
- resolve
resolve(String other)
方法用于将当前路径解析为另一个路径。它接受一个字符串参数other
,可以是相对路径或者绝对路径。示例中,将当前路径与subfolder/file.txt
组合,返回一个新的Path
对象resolvedPath
,表示完整的路径D:\MyFolder\文档和软件\subfolder\file.txt
。
- resolveSibling
resolveSibling(String other)
方法与resolve()
类似,但是它是相对于当前路径的父路径进行解析的。示例中,将当前路径的父路径与anotherFolder
组合,返回一个新的Path
对象resolvedSiblingPath
,表示路径D:\MyFolder\anotherFolder
。
- relativize
relativize(Path other)
方法用于计算两个路径之间的相对路径。示例中,假设otherPath
表示另一个路径D:\MyFolder\文档和软件\subfolder\file.txt
,则relativePath
表示从path
到otherPath
的相对路径subfolder\file.txt
。
- normalize
normalize()
方法用于标准化路径。它消除路径中的冗余部分,例如.
(当前目录)和..
(上级目录)。示例中,normalizedPath
将返回一个标准化后的路径对象,即D:\MyFolder\文档和软件
。
- toAbsolutePath
toAbsolutePath()
方法返回当前路径的绝对路径形式。示例中,如果path
是相对路径,则absolutePath
会返回其绝对路径形式;如果path
已经是绝对路径,则返回路径本身。
- getParent
getParent()
方法返回当前路径的父路径。示例中,如果path
是D:\MyFolder\文档和软件
,则parentPath
会返回D:\MyFolder
。
- toFile
toFile()
方法将Path
对象转换为对应的java.io.File
对象。这在需要与旧版Java API或需要使用File
对象的库中特别有用。
Path path = Path.of("D:\\MyFolder\\文档和软件");
// resolve(String other)方法用于将当前路径解析为另一个路径。它接受一个字符串参数other,可以是相对路径或者绝对路径。示例中,将当前路径与subfolder/file.txt组合,返回一个新的Path对象resolvedPath,表示完整的路径D:\MyFolder\文档和软件\subfolder\file.txt。
Path resolvedPath = path.resolve("subfolder/file.txt");
// D:\MyFolder\文档和软件\subfolder\file.txt
System.out.println(resolvedPath);
// `resolveSibling(String other)`方法与`resolve()`类似,但是它是相对于当前路径的父路径进行解析的。示例中,将当前路径的父路径与`anotherFolder`组合,返回一个新的`Path`对象`resolvedSiblingPath`,表示路径`D:\MyFolder\anotherFolder`。
Path siblingResolvedPath = path.resolveSibling("anotherFolder");
System.out.println(siblingResolvedPath);
// `relativize(Path other)`方法用于计算两个路径之间的相对路径。示例中,假设`otherPath`表示另一个路径`D:\MyFolder\文档和软件\subfolder\file.txt`,则`relativePath`表示从`path`到`otherPath`的相对路径`subfolder\file.txt`。
Path siblingResolvedPath2 = path.resolveSibling("anotherFolder");
System.out.println(siblingResolvedPath2);
// relativize(Path other)方法用于计算两个路径之间的相对路径。示例中,假设otherPath表示另一个路径D:\MyFolder\文档和软件\subfolder\file.txt,则relativePath表示从path到otherPath的相对路径subfolder\file.txt。
Path otherPath = Path.of("D:\\MyFolder\\文档和软件\\subfolder\\file.txt");
Path relativePath = path.relativize(otherPath);
System.out.println(relativePath);
// normalize()方法用于标准化路径。它消除路径中的冗余部分,例如.(当前目录)和..(上级目录)。示例中,normalizedPath将返回一个标准化后的路径对象,即D:\MyFolder\文档和软件。
Path absolutePath = path.toAbsolutePath();
System.out.println("absolutePath:" + absolutePath);
// getParent()方法返回当前路径的父路径。示例中,如果path是D:\MyFolder\文档和软件,则parentPath会返回D:\MyFolder。
Path parentPath = path.getParent();
System.out.println(parentPath);
// getRoot()方法返回当前路径的根路径部分。对于D:\MyFolder\文档和软件,rootPath将返回D:\作为根路径。
Path rootPath = path.getRoot();
System.out.println(rootPath);
// toFile()方法将Path对象转换为对应的java.io.File对象。这在需要与旧版Java API或需要使用File对象的库中特别有用。
File file = path.toFile();
System.out.println(file);
原文地址:https://blog.csdn.net/weixin_46533577/article/details/140858780
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!