java file类的getPath和getAbsolutePath和getCanonicalPath 的疑问与解答
先说总结
- 总结:
- getPath:返回的是构造时的参数
- getAbsolutePath:返回的是文件所在目录的路径+构造时的参数
- getCanonicalPath:返回的就是这个文件存储的绝对路径
学到file类之后,发现竟然有这么多获取path的方法,但是这些方法又各自都返回什么呢,各种有什么区别呢?
返回的值有什么区别呢?
- 有疑问咱就动手敲代码实现来观察结果,看看区别。然后就尴尬了,结果是三个方法的返回值完全一模一样
- 之后我查阅资料,但是都找不到问题所在,这个问题好像关心的人很少,没有这类解答。于是我就去看汉化jdk发现根本读不懂,感觉就是给懂的人读的,然后我硬着头皮去看了看英文版的jdk,发现了其中的奥妙所在。
首先getPath和getAbsolutePath做比较,他们的不同体现在,file类构造时给的路径不同才会有所不同。
- 结果显示
- file类构造时,参数为相对路径时
- getPath会直接返回构造时的参数路径
- getAbsolutePath会返回目录路径+构造时的参数路径
- file类构造时,参数为绝对路径时
- getPath会直接返回构造时的参数路径
- getAbsolutePath会返回全路径
- file类构造时,参数为相对路径时
getPath和getAbsolutePath和getCanonicalPath做比较
- 总结由下图总结:
- getPath:返回的是构造时的参数
- getAbsolutePath:返回的是文件所在目录的路径+构造时的参数
- getCanonicalPath:返回的就是这个文件存储的绝对路径
- 总结由下图总结:
- 有疑问咱就动手敲代码实现来观察结果,看看区别。然后就尴尬了,结果是三个方法的返回值完全一模一样
各种都在什么情况下使用呢?
持续更新
java file类的getPath和getAbsolutePath和getCanonicalPath 的疑问与解答相关推荐
- JAVA中File类的getPath()、getAbsolutePath()、getCanonical()
1.getPath(): 返回定义时的路径,(就是你写什么路径,他就返回什么路径) 2.getAbsolutePath(): 返回绝对路径,但不会处理"."和"-&quo ...
- Java获取文件path—getPath、getAbsolutePath、getCanonicalPath区别
一.三者相同点 1.路径分隔符根据操作系统改变,Windows操作系统使用"\"分隔,Unix操作系统使用"/"分隔. 2.路径最后一个字符不为分隔符. 二.g ...
- Java File类之getPath | getAbsolutePath | getCanonicalPath
一. API 以下是3个方法的api说明. getPath public String getPath() 将此抽象路径名转换为一个路径名字符串.所得字符串使用默认名称分隔符分隔名称序列中的名称. 返 ...
- Java下的路径getPath,getAbsolutePath和getCanonicalPath
1.getPath 以构造路径作为返回值. 2.getAbsolutePath 以当前路径+构造路径作为返回值. 3.getCanonicalPath 以全路径作为返回值(如果构造路径包含.或..,会 ...
- java File类 常用相关函数
java File类 相关函数 1.构建函数 2.判断相关函数 4.创建相关函数 5.删除相关函数 6.获取相关函数 1.构建函数 /*** File 构造方法* file 常用构造方法* 1: Fi ...
- java File类
java File类 今天我要总结一下java File类.这个是一个很重要的类. 首先是我画的思维导图. 还写了一些自己写的代码. /*** Date : 2017/6/24* Author : H ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
- 探究Java File类中list()、listFiles()的使用及区别,认识和使用匿名内部类
转载自 探究Java File类中list().listFiles()的使用及区别,认识和使用匿名内部类 内容概要: 1.认识File类: 2.File的构造函数: 3.list()及其重载方 ...
- getPath() ;getAbsolutePath();getCanonicalPath()的区别
前言: java中File类的中的三个方法的区别: getPath():getAbsolutePath():getCanonicalPath() : 1.getPath(): 返回的是定义时的路径,这 ...
最新文章
- SQLServer “无法对数据库‘XXX‘ 执行删除,因为它正用于复制”的解决方法
- nefu 753 n!末尾有多少个0
- 加你用移动端数据爬取
- 汉明距离—leetcode461
- 大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】
- 构建SpringBoot第一个Demo
- linux添加后门方法,超初级的linux后门制作方法
- 设计模式之单例模式8种实现方式,其三:懒汉式(线程不安全)
- linux中备份mysql数据库命令_linux备份mysql数据库命令
- 微信小程序复制就好-JS工具eval5,用JS替换VBA处理Excel数据
- 数据挖掘笔记——概念学习
- k3导入账套_K3金蝶维护绝密(内部技术教程)
- 博客营销成功案例分析
- 触摸屏 触摸操作 鼠标点击事件
- 二维码QR 码纠错级别
- matlab实例一之Forward Collision Warning Using Sensor Fusion (视觉和毫米波雷达)
- PAT_乙级_1013_筱筱
- 疫情可视化(visualization)
- python普通常量_以下属于Python普通常量的是(
- 根号6用计算机怎么算,根号6等于多少怎么算
热门文章
- java适合女生学吗_【软帝学院】女生不适合学习java?其实女生学java更有优势,更好就业!...
- Android 的LinearLayout (线性布局)和RelativeLayout (相对布局)介绍
- 【健康知识】46个不可不知的生活小常识 !!!
- CIMCAI中集飞瞳全球集装箱人工智能领军者祝大家新春快乐
- 使用socket.io做一个简单的WEB聊天室
- 我就是我,这世上不一样的烟火
- 同花顺YB抄底神器指标公式源码
- 拿鸡蛋python_扔鸡蛋问题python编写
- 数据结构:哈夫曼树【转载自mcgrady https://www.cnblogs.com/mcgrady/p/3329825.html#_label0】
- 苹ios和鸿蒙,鸿蒙系统更像iOS还是苹果呢?看到这些,你失望吗?