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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里绝对路径和相对路径的区别是啥?相关的知识,希望对你有一定的参考价值。

参考技术A 按照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的.

相对路径和绝对路径的区别

是在FLASH中的按扭的

区别是目录所在层级不一样。

.\\:代表目前所在的目录。

..\\:代表上一层目录。

两个都表示路径的意思。

1、相对路径-顾名思义,相对路径就是相对于当前文件的路径。网页中一般表示路径使用这个方法。

2、绝对路径-绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。绝对路径就是你的主页上的文件或目录在硬盘上真正的路径。

C/C++ &与&& |与|| 的区别

&&表示逻辑与的意思,即为and。当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

比如 12&&23的结果就是1,12&&-1 的结果是1,123&&0的结果就是0。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。

参考技术A

区别是目录所在层级不一样。

假设你注册了域名baidubaikewww.seo-xy . com,并申请了虚拟主机,你的虚拟主机提供商会给你一个目录,比如www,这个www就是你网站的根目录。

假设你在www根目录下放了一个文件index.html,这个文件的绝对路径就是: baidubaikewww.seo-xy .com/index.html 假设你在www根目录下建了一个目录叫archives,然后在该目录下放了一个文件index.html,这个文件的绝对路径就是baidu。



同目录文件引用

"."——代表目前所在的目录。

我们现在建一个源文件info.html,在info.html里要引用index.html文件作为超链接。

假设index.html路径是:c:\\Inetpub\\wwwroot\\sites\\blabla\\index.html。

html文件作为超链接。c:\\Inetpub\\wwwroot。

index.html

其实,可以省略"./"直接引用。


参考技术B 如果当前目录在system32下
c:\windows\system32\new.exe 这样是绝对路径
system32\new.exe 这样是相对路径
也就是说绝对路径和当前问津位置无关,而相对路径和当前文件位置用关
参考技术C 相对路径是安装规则变化的,绝对路径是绝不可变的! 参考技术D 相对路径-----\sound\mp3
绝对路径-----e:\sound\mp3

以上是关于java里绝对路径和相对路径的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

相对路径和绝对路径的区别,java获取项目访问路径的方法

绝对路径和相对路径的区别?

html中相对路径的问题?

相对路径、绝对路径分别是啥? 要怎样才能学好数据结构这门课?

相对路径和绝对路径的区别

java web项目 相对路径怎么写