导航:首页 > 编程语言 > javalinux相对路径

javalinux相对路径

发布时间:2023-07-09 05:53:58

linux的绝对路径跟相对路径怎么解释

绝对路径:始终从根目录(/)开始,比如:
/home/abhishek/scripts/my_scripts.sh
相对铅返路径:从当前目录开始。比如,如果你在/home目录中,希望访问my_script.sh文件,那么访问的路径应该是:
abhishek/scripts/my_scripts.sh
绝对路径和相对路径的差异
Linux中目录结构其实槐谨饥是一个树,从根(/)开始,然后产生分支,假设我们使用ls命令查看my_script.sh的文件信息,那么使用绝对路径:
ls -l /home/abhishek/scripts/my_script.sh
然后,相对路径:
ls -l scripts/my_script.sh
那么,以上两种方式,除了文件路径不一样以外,其他的完全一样。
需要注意的是,在Linux中,文件名区分大小写。可以有大写、小写晌枣、数字、点、中划线、下划线以及除了斜杠(/)之外的大多数字符。斜杠(/)作为保留字符,用于根目录和用于分割路径中的目录。
有两种特殊的相对路径:
.(一个点):表示路径中的当前路径;
..(两个点):表示父目录,即上一级目录;

java 相对路径问题。

在最前面加点的话就告诉file找的时候当前目录找不到,就去相对的路径去找,一般要相对路径的话都是加点,两个点点寻找的返回可能大些,但也值在项目目录里找,直接/的话,这个貌似要在web项目里使用,直接在普通的项目里可能不行,你可以试试不每个file的absolutepath输出一下看看都是什么结果
帮你找了下别人写的:
File类是用来构造文件或文件夹的类,在其构造函数中要求传入一个String类型的参数,用于指示文件所在的路径.以前一直使用绝对路径作为参数,其实这里也可以使用相对路径.使用绝对路径不用说,很容易就能定位到文件,那么使用了相对路径jvm如何定位文件的呢?

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

相对路径顾名思义,相对于某个路径,那么究竟相对于什么路径我们必须弄明白.按照上面jdk文档上讲的这个路径是”当前用户目录”也就是”java虚拟机的调用目录”.更明白的说这个路径其实是我们在哪里调用jvm的路径.举个例子:

假设有一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”存放的也是这个值.

我们可以多做几次试验,把”Example.class”移动到不同路径下,同时在那些路径下,执行”java Example”命令启动jvm,我们会发现这个”当前用户目录”是不断变化的,它的路径始终和我们在哪启动jvm的路径是一致的.

搞清了这些,我们可以使用相对路径来创建文件,例如:

File file = new File(“a.txt”);

File.createNewFile();

假设jvm是在”D:\”下启动的,那么a.txt就会生成在D:\a.txt;

此外,这个参数还可以使用一些常用的路径表示方法,例如”.”或”.\”代表当前目录,这个目录也就是jvm启动路径.所以如下代码能得到当前目录完整路径:

File f = new File(“.”);

String absolutePath = f.getAbsolutePath();

System.out.println(absolutePath);//D:\

最后要说说在eclipse中的情况:

Eclipse中启动jvm都是在项目根路径上启动的.比如有个项目名为blog,其完整路径为:D:\work\IDE\workspace\blog.那么这个路径就是jvm的启动路径了.所以以上代码如果在eclipse里运行,则输出结果为” D:\work\IDE\workspace\blog.”

Tomcat中的情况.

如果在tomcat中运行web应用,此时,如果我们在某个类中使用如下代码:

File f = new File(“.”);

String absolutePath = f.getAbsolutePath();

System.out.println(absolutePath);

那么输出的将是tomcat下的bin目录.我的机器就是” D:\work\server\jakarta-tomcat-5.0.28\bin\.”,由此可以看出tomcat服务器是在bin目录下启动jvm的.其实是在bin目录下的” catalina.bat”文件中启动jvm的.

⑶ linux中如何得到java项目的相对路径

相对路径是相对某个位置来说的 看你当前在哪个位置 然后才能按这个位置写相对路径

⑷ linux什么是绝对路径与相对路径,要由/usr/share/doc进入到/usr/share/man写出相对路径与绝对路径。

你可以这样理解,绝对路径是从根目录开始的路径,而相对路径是相当于当前路径的一种形式,比如你的提问,从/usr/share/doc进入到/usr/share/man的绝对路径是(用cd命令可以从一个目录进入另一个目录):
cd /usr/share/man
因为绝对路径是从根目录/开始的,所以绝对路径直接写就可以了,不需要考虑上一个路径是什么;而相对路径是相当于另一个路径的一种形式,需要考虑上一个路径,比如你的提问,相对路径形式是这样的:
cd ../man
../表示当前目录的上一级目录,/usr/share/doc的上一级目录是/usr/share这个路径,因为/usr/share/man的上一级目录也是/usr/share,所以../man就代表/usr/share/man的相对路径了。

⑸ Linux相对路径与绝对路径区别

相对路径就是相对当前你所在路径开始算。
绝对路径是从linux最底层的根(/)开始算。
其中:在Linux中,绝对路径是从/(根目录)开始的,路径最前面是/的话就是绝对路径。
相对路径是直接输入当前路径下的文件夹或者以 . 或 .. 开始算的,.表示用户当前操作所处的位置,.. 表示上一级目录。
举个例子:
/home/oracle 这个路径就是绝对路径
./home/oracle 这个就是相对路径,例如现在在/test路径下,此条路径换算成绝对路径为/test/home/oracle
../home/oracel 这个也是相对路径,例如现在在/test路径下,此条路径换算成绝对路径为:/home/oracel
注意后面两个的对比,..是回到上一级然后在往后算。
使用pwd命令可以查看当前所在的绝对路径。‘

如题中提出的问题,答案如下:
由于不清楚相对路径是相对于哪个路径,这里默认在/目录下。
用相对路径名从usr/bin跳到/home/staff/john/project
答:cd ../../home/staff/john/project 或者 cd /home/staff/john/project
用绝对路径名从usr/bin跳到/temp
答:cd ../../temp 或者 cd /temp
用相对路径名从usr/bin跳到/etc/rc.d
答:cd ../../etc/rc.d 或者 cd /etc/rc.d
跳转路径可以直接输入绝对路径

阅读全文

与javalinux相对路径相关的资料

热点内容
如何验证web服务器是否正常工作 浏览:132
全球最大的加密货币网站 浏览:284
解压文件为什么有问号 浏览:389
php考试系统模板 浏览:431
pdf导出图片模糊 浏览:610
我的世界编玩边学服务器地址 浏览:456
基于单片机的火灾报警系统 浏览:166
上海追星用什么app 浏览:425
海马m5压缩机维修 浏览:98
抖音怎么给自己喜欢的加密 浏览:247
中国五大加密货币 浏览:263
程序员手疼7年查6处骨肿瘤 浏览:39
python列表对象的创建与删除 浏览:467
python删除excel表格中的一行 浏览:521
android数据库的增删改查 浏览:632
云服务器2g4g有什么区别 浏览:324
显示文件夹所有文件的文件名函数 浏览:213
可以在网站写代码的编译器 浏览:76
王者换服务器怎么不用重玩 浏览:328
武汉编译ipfs云存储器 浏览:52