当前位置: 首页 > news >正文

操作文件-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表示从pathotherPath的相对路径subfolder\file.txt

  • normalize

normalize()方法用于标准化路径。它消除路径中的冗余部分,例如.(当前目录)和..(上级目录)。示例中,normalizedPath将返回一个标准化后的路径对象,即D:\MyFolder\文档和软件

  • toAbsolutePath

toAbsolutePath()方法返回当前路径的绝对路径形式。示例中,如果path是相对路径,则absolutePath会返回其绝对路径形式;如果path已经是绝对路径,则返回路径本身。

  • getParent

getParent()方法返回当前路径的父路径。示例中,如果pathD:\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);
http://www.lryc.cn/news/412022.html

相关文章:

  • RAC(Teamcenter )开发,Bom行解包和打包的方法
  • log4j2漏洞练习
  • OpenEuler安装部署教程
  • Canto - hackmyvm
  • 【数据结构进阶】手撕红黑树
  • 【C++从小白到大牛】类和对象
  • Kafka 为什么这么快的七大秘诀,涨知识了
  • 一文解决3D车道线检测:最新单目3D车道线检测综述
  • 稳中向好,今年新招6000人
  • 使用kettle开源工具进行跨库数据同步
  • Golang | Leetcode Golang题解之第307题区域和检索-数组可修改
  • Golang | Leetcode Golang题解之第301题删除无效的括号
  • 【Story】《程序员面试的“八股文”辩论:技术基础与实际能力的博弈》
  • 初步了解泛型
  • 【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel读取数据以及保存数据
  • C++推荐的oj网站
  • springmvc处理http请求的底层逻辑
  • 干货满满,从零到一:编程小白如何在大学成为编程大神?
  • 前端-如何通过docker打包Vue服务成镜像并在本地运行(本地可以通过http://localhost:8080/访问前端服务)
  • 零基础学习【Mybatis】这一篇就够了
  • Shell入门(保姆级教学)
  • 【JDK11和JDK8并行与切换】
  • vue大数据量列表渲染性能优化:虚拟滚动原理
  • 昇思25天学习打卡营第1天|快速入门
  • LinkedList 实现 LRU 缓存
  • ubuntu安装workon
  • (面试必看!)锁策略
  • RAGflow:开源AI框架的创新与应用
  • AI的学习明确路径
  • 【C++】巧用缺省参数与函数重载:提升编程效率的秘密武器