返回顶部
首页 > 资讯 > 精选 >getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些
  • 274
分享到

getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些

javagetpath()getabsolutepath() 2023-05-31 10:05:50 274人浏览 泡泡鱼
摘要

getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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.txtD:\workspace\java_io\.\src\test.txtD:\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.txtD:\workspace\java_io\..\src\test.txtD:\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.txtD:\test\absoluteTest.txtD:\test\absoluteTest.txt

结论:

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

当输入为相对路径时:

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

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

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些

本文链接: https://lsjlt.com/news/224750.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些
    getPath()、getAbsolutePath()与getCanonicalPath()在Java中的区别有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获...
    99+
    2023-05-31
    java getpath() getabsolutepath()
  • PropertyChangeSupport与PropertyChangeListener在java中的区别有哪些
    这篇文章将为大家详细讲解有关PropertyChangeSupport与PropertyChangeListener在java中的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ja...
    99+
    2023-05-31
    java propertychangesupport propertychangelistener
  • super与this在Java中的区别有哪些
    这篇文章将为大家详细讲解有关 super与this在Java中的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。super和this的异同   &nbs...
    99+
    2023-05-31
    java this super
  • 在Java 中FileReader与FileWriter有哪些区别
    在Java 中FileReader与FileWriter有哪些区别?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。FileReader和FileWriter源码分析1. File...
    99+
    2023-05-31
    java filereader filewriter
  • Iterator与LIstIterator接口在java中的区别有哪些
    这篇文章将为大家详细讲解有关Iterator与LIstIterator接口在java中的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java  Iterator接口和L...
    99+
    2023-05-31
    java iterator listiterator
  • sendredirect()与forward()函数在java中的区别有哪些
    sendredirect()与forward()函数在java中的区别有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 HttpServletRe...
    99+
    2023-05-31
    java sendredirect() forward()
  • Java中Error与Exception的区别有哪些
    这篇文章主要介绍了Java中Error与Exception的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Error类和Exception类都继承自Throwabl...
    99+
    2023-06-17
  • JAVA中ClassLoader.getResourceAsStream()与Class.getResourceAsStream()的区别有哪些
    这篇文章给大家分享的是有关JAVA中ClassLoader.getResourceAsStream()与Class.getResourceAsStream()的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看...
    99+
    2023-06-20
  • Java中Collections.EMPTY_LIST与Collections.emptyList()的区别有哪些
    这篇文章将为大家详细讲解有关Java中Collections.EMPTY_LIST与Collections.emptyList()的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Collecti...
    99+
    2023-06-25
  • JAVA中JSP与Servlet的区别有哪些
    这篇文章主要介绍了JAVA中JSP与Servlet的区别有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JSP和SERVLET到底在应用上有什么区别,很多人搞不清楚。我来...
    99+
    2023-06-03
  • java中javaBean与Bean的区别有哪些
    本篇文章为大家展示了java中javaBean与Bean的区别有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JavaBean 是Java中的一种特殊的类,可以将多个对象封装到一个对象(bean...
    99+
    2023-05-31
    javabean bean java
  • python与java的区别有哪些
    python与java的区别有:1、Python主要应用于游戏开发、搜索引擎、图形图像处理、脚本开发等领域,而Java则应用于服务器开发,web开发和安卓开发等领域;2、Python比Java简单,易学并且开发效率高;3、Java运行效率高...
    99+
    2024-04-02
  • java与javascript有哪些区别
    这篇文章主要介绍“java与javascript有哪些区别”,在日常操作中,相信很多人在java与javascript有哪些区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • Java中Object与泛型的区别有哪些
    Java中Object与泛型的区别有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Object和泛型的两点区别是:Object范围非常广,而T从一开始就会限定这个类型(包括...
    99+
    2023-05-31
    object java 泛型
  • getReadableDatabase()与getWritableDatabase()在Android中的区别有哪些
    这篇文章给大家介绍getReadableDatabase()与getWritableDatabase()在Android中的区别有哪些 ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android getReadabl...
    99+
    2023-05-31
    android getreadabledatabase() getwritabledatabase()
  • Job与JobDetail在Quartz中的区别有哪些
    Job与JobDetail在Quartz中的区别有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Quartz可以用来做什么?Quartz是一个任务调度框架。比如你遇到这样的...
    99+
    2023-05-31
    quartz job jobdetail
  • java null与空的区别有哪些
    一般情况下, java中的null就是指的空。但是稍微注意的是,空字符串"" 和null是有区别的。"" 代表有字符串,但是字符串内容为空,长度为0;null表示对象为空。如果用为null的对象去调用方法,就会出现空指针异常。所以,在字符串...
    99+
    2019-10-24
    java教程 java null 区别
  • ExecutorService 于 Executors 在java中的区别有哪些
    今天就跟大家聊聊有关ExecutorService 于 Executors 在java中的区别有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java 中Executor, Ex...
    99+
    2023-05-31
    java executors executorservice
  • java bean与ejb有哪些区别
    这篇文章主要为大家展示了“java bean与ejb有哪些区别 ”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java bean与ejb有哪些区别 ”这篇文章吧。您现在可能已在使用 JavaBe...
    99+
    2023-06-03
  • TCP与UDP编程在java项目中有哪些区别
    这篇文章给大家介绍TCP与UDP编程在java项目中有哪些区别,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。TCP客户端:import java.io.BufferedReader;import java.io.Inp...
    99+
    2023-05-31
    java tcp编程 udp编程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作