java里绝对路径和相对路径的区别是什么?

如题所述

按照jdk Doc上的说法”绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件。相反,相对路径名必须使用来自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录.”\x0d\x0a \x0d\x0a相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是”当前用户目录”也就是”java虚拟机的调用目录”.更明白的说这个路径其实是我们在哪里调用jvm的路径.举个例子:\x0d\x0a \x0d\x0a假设有一java源文件Example.java在d盘根目录下,该文件不含package信息.我们进入命令行窗口,然后使用”d:”命令切换到d盘根目录下,然后用”javac Example.java”来编译此文件,编译无错后,会在d盘根目录下自动生成”Example.class”文件.我们在调用”java Example”来运行该程序.此时我们已经启动了一个jvm,这个jvm是在d盘根目录下被启动的,所以此jvm所加载的程序中File类的相对路径也就是相对这个路径的,即d盘根目录:D:/.同时” 当前用户目录”也是D:/.在System.getProperty(“user.dir”);系统变量”user.dir”存放的也是这个值.\x0d\x0a我们可以多做几次试验,把”Example.class”移动到不同路径下,同时在那些路径下,执行”java Example”命令启动jvm,我们会发现这个”当前用户目录”是不断变化的,它的路径始终和我们在哪启动jvm的路径是一致的.\x0d\x0a搞清了这些,我们可以使用相对路径来创建文件,例如:\x0d\x0aFile file = new File(“a.txt”);\x0d\x0aFile.createNewFile();\x0d\x0a假设jvm是在”D:/”下启动的,那么a.txt就会生成在D:/a.txt;\x0d\x0a此外,这个参数还可以使用一些常用的路径表示方法,例如”.”或”./”代表当前目录,这个目录也就是jvm启动路径.所以如下代码能得到当前目录完整路径:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);//D:/\x0d\x0a最后要说说在eclipse中的情况:\x0d\x0aEclipse中启动jvm都是在项目根路径上启动的.比如有个项目名为blog,其完整路径为:D:/work/IDE/workspace/blog.那么这个路径就是jvm的启动路径了.所以以上代码如果在eclipse里运行,则输出结果为” D:/work/IDE/workspace/blog.”\x0d\x0a \x0d\x0aTomcat中的情况.\x0d\x0a如果在tomcat中运行web应用,此时,如果我们在某个类中使用如下代码:\x0d\x0aFile f = new File(“.”);\x0d\x0aString absolutePath = f.getAbsolutePath();\x0d\x0aSystem.out.println(absolutePath);\x0d\x0a那么输出的将是tomcat下的bin目录.我的机器就是” D:/work/server/jakarta-tomcat-5.0.28/bin/.”,由此可以看出tomcat服务器是在bin目录下启动jvm的.其实是在bin目录下的” catalina.bat”文件中启动jvm的.
温馨提示:内容为网友见解,仅供参考
无其他回答

java里绝对路径和相对路径的区别是什么?
按照jdk Doc上的说法”绝对路径名是完整的路径名,不需要任何其他信息就可以定位自身表示的文件。相反,相对路径名必须使用来自其他路径名的信息进行解释。默认情况下,java.io 包中的类总是根据当前用户目录来分析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录.”相对路径顾...

还没搞懂Java中的路径?看完这篇文章你就全懂了
「相对路径:」相对路径是相对于目标文件位置的路径。但相对路径的相对性很重要,它可以是项目的根目录或classpath目录。下面通过一个例子来说明绝对路径和相对路径的区别。假设JavaIO模块下的resource目录下的a.txt文件,它的绝对路径和相对路径如下:「绝对路径:」D:\\code\\River\\JavaSE\\javaIO\\src\\main...

java里面绝对路径和相对路径有什么区别?路径名和文件名有什么区别?各位...
绝对路径:从指定分区到目标地点经过的位置,如C:\/a\/v\/c\/d\/b 这就是绝对路径。相对路径:相对于当前文件所处位置的路径,如.\/b 这就是相对路径。路径名:是路径的名称,包含了该文件的相对或者绝对路径,显示了该文件所处的位置。文件名:用于标识文件但是和文件属性无关的字符串。

java路径是什么意思?
在Java编程中,路径是指文件或文件夹在计算机中的位置。在Java中,路径分为两种类型:绝对路径和相对路径。绝对路径是从根目录开始的完整路径,而相对路径是相对于程序当前位置的路径。Java中的路径可以用于文件读写,加载类库以及其他操作。路径在Java应用中的例子 路径在Java应用中有着广泛的应用。例如,...

java开发中相对地址和绝对地址都是什么?
相对地址是相对你当前这个文件及文件夹的位置,绝对地址是指定了盘符,包含了你整个文件的完整路径。如:你的文件(F)在A文件夹内(有F2文件),A在B文件夹内(B文件在E盘下),那么文件F相对文件F2存在相对文件关系,F中引用F2 可以用 ..\/ 方法跳出文件夹读取文件F2 同事也F或者是F2也有绝对路径...

Java 抽象路径 抽象路径名 绝对路径 绝对路径名
绝对路径是不变的,而相对路径是随用户工作目录的变化而变化。抽象路径:用户界面和操作系统使用与系统相关的路径名字符串来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。抽象路径名有两个组件:一个可选的与系统有关的前缀字符串,比如盘符,"\/" 表示 UNIX 中的根目录,"\\\\\\...

你知道,java项目中是如何获取文件地址的吗?
首先,class.getResource() 方法接受相对路径或绝对路径,相对路径是相对于当前类所在的类路径,而绝对路径则以'\/'开头,代表项目的根目录。它返回一个URL对象,指向指定的资源。相比之下,class.getClassLoader().getResource(String name) 方法仅接受相对路径,这里的相对路径是相对于Java类的ClassLoader...

小白求教,javaweb中的相对路径和绝对路径等各种路径中,比如\/a.hml...
\/表示相对路径中的根路径,\/a.html的意思是根目录下的a.html文件。

java文件全类名和路径的区别?
全类名是某个文件在项目中的位置,格式为包名.类名 路径分为相对路径和绝对路径。绝对路径是指这个文件在操作系统中的位置,相对路径通过这个文件的上一级 .\/ 或下一级\/ 来指定文件内容

html相对路径和绝对路径的区别(html5相对路径和绝对路径)
绝对路径和相对路径的区别?绝对路径:一般是指文件在所在盘符的位置,而且是从盘符开始算起,如某文件位于“C:\\ProgramFiles\\JiangMin”下面,那么这个路径就是它的绝对路径。相对路径:可以理解为绝对路径的部分,且是后半部分,这是从当前所处位置而定的,如当前位置是在“C:\\ProgramFiles\\”,那就...

相似回答
大家正在搜