详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别

发布时间 - 2026-01-11 02:24:20    点击率:

简单看一下描述,例子最重要。

1、getPath():

返回定义时的路径,(就是你写什么路径,他就返回什么路径)

2、getAbsolutePath():

返回绝对路径,但不会处理“.”和“..”的情况

3、getCanonicalPath():

返回的是规范化的绝对路径,相当于将getAbsolutePath()中的“.”和“..”解析成对应的正确的路径

第一个例子:(使用:“.\\src\\test.txt”一个点路径)

File file = new File(".\\src\\test.txt");
 
 System.out.println(file.getPath());
 System.out.println(file.getAbsolutePath());
 System.out.println( file.getCanonicalPath()); 

结果:

.\src\test.txt
D:\workspace\java_io\.\src\test.txt
D:\workspace\java_io\src\test.txt

第二个例子:(使用:“..\\src\\test.txt”两个点路径)

File file = new File("..\\src\\test.txt");
 
  System.out.println(file.getPath());
  System.out.println(file.getAbsolutePath());
  System.out.println( file.getCanonicalPath());

结果:

..\src\test.txt
D:\workspace\java_io\..\src\test.txt
D:\workspace\src\test.txt 注意这个结果的路径,与一个点时不一样;因为他解析了“.”和“..”的情况。

第三个例子:(使用:“D:\\test\\absoluteTest.txt”绝对路径)

File file = new File("D:\\test\\absoluteTest.txt");
 
  System.out.println(file.getPath());
  System.out.println(file.getAbsolutePath());
  System.out.println(file.getCanonicalPath());

结果:

D:\test\absoluteTest.txt
D:\test\absoluteTest.txt
D:\test\absoluteTest.txt

结论:

1、当输入为绝对路径时,返回的都是绝对路径。

2、当输入为相对路径时:

2.1、getPath()返回的是File构造方法里的路径,是什么就是什么,不增不减

2.2、getAbsolutePath()返回的其实是user.dir+getPath()的内容,从上面看:D:\workspace\java_io\.\src\test.txt,D:\workspace\java_io\..\src\test.txt,可以得出。

2.3、getCanonicalPath()返回的就是标准的将符号完全解析的路径

以上这篇详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java  # File类  # java中File类的使用方法  # java中表示一个文件的File类型详解  # java中File类应用遍历文件夹下所有文件  # java File类的基本使用方法总结  # Java中File类中常用方法详解  # java中File类的构造函数及其方法  # java开发之File类详细使用方法介绍  # Java File类的详解及简单实例  # 一步步带你入门Java中File类  # 的是  # 给大家  # 都是  # 第一个  # 他就  # 最重要  # 希望能  # 第二个  # 看一下  # 这篇  # 第三个  # 小编  # 大家多多  # 你写  # 因为他  # span  # style  # getCanonicalPath  # txt  # test 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  黑客如何利用漏洞与弱口令入侵网站服务器?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  网站制作报价单模板图片,小松挖机官方网站报价?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  Laravel如何实现事件和监听器?(Event & Listener实战)  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Android使用GridView实现日历的简单功能  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何挑选最适合建站的高性能VPS主机?  如何快速搭建个人网站并优化SEO?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  phpredis提高消息队列的实时性方法(推荐)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  JavaScript如何实现倒计时_时间函数如何精确控制  Swift中switch语句区间和元组模式匹配  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何获取PHP WAP自助建站系统源码?  使用spring连接及操作mongodb3.0实例  Python数据仓库与ETL构建实战_Airflow调度流程详解  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  详解阿里云nginx服务器多站点的配置  制作电商网页,电商供应链怎么做?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  JavaScript常见的五种数组去重的方式  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  微信小程序 canvas开发实例及注意事项  iOS验证手机号的正则表达式  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  无锡营销型网站制作公司,无锡网选车牌流程?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Mybatis 中的insertOrUpdate操作  canvas 画布在主流浏览器中的尺寸限制详细介绍  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  如何在局域网内绑定自建网站域名?  python中快速进行多个字符替换的方法小结  如何在阿里云服务器自主搭建网站?  javascript读取文本节点方法小结  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  javascript基于原型链的继承及call和apply函数用法分析  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】