相对路径与绝对路径的写法

相对路径即从所在目录开始检索的路径,

有以下表示的符号:

1  ../        表示当前目录上一级

2  ./         表示当前目录

我们可以在命令提示符下做实验:


这里的 c:\Users\Administrator 就是表示当前所在目录

我们使用 cd 更换目录, 来试验路径所指向:

cd ./Searches

进入当前目录下的 Searches目录

   看到所在位置发生了变换


cd ../ 进入当前目录的上一级目录

   又返回了原来的位置


cd ../../Windows   返回当前目录的上一级的再上一级(上两级),再进入Windows

    这样我们就进入了C盘的Windows


可以按照这三个相对路径例子来举一反三。


绝对路径即从根开始检索的路径,

这里的根有时候指盘符如:

 的 C: 就是根

有时候也可能是 localhost:8080 即本机上部署的tomcat开放端口 ,也是根

使用绝对路径只要在开始加 /  符号,即表示使用绝对路径。

同样在命令提示符下测试:

cd  /Windows/system32


不像相对路径一样需要返回上级,直接从C: 开始进行寻址打开 system32文件


在开发中根据实际情况选择合适的定位方法,个人经验:

发布部署Web项目推荐使用从 服务器根 开始进行绝对定位

发布运行在磁盘的应用程序使用相对定位





### Java 中的绝对路径相对路径 #### 绝对路径 绝对路径是指从根目录开始描述文件或目录位置的方式。对于Java应用程序而言,在Windows操作系统下,绝对路径可能类似于`C:\Users\username\Documents\example.txt`;而在Linux或MacOS系统中则是像`/home/user/documents/example.txt`这样的形式[^2]。 ```java // 使用绝对路径创建File对象实例 File absFilePath = new File("C:\\path\\to\\your\\file.txt"); ``` #### 相对路径 相对路径则依赖于当前工作目录来定位目标文件的位置。在Java项目里,默认的工作目录通常是项目的根目录(即包含`src`, `pom.xml`等文件的那个文件夹),而classpath指的是编译后的类文件所在的默认输出位置——`target/classes`。因此当提到相对于项目的根路径时,可以简单理解为基于此起点构建出来的路径表达方式[^1]。 ```java // 假设main方法所在源码位于 src/main/java/com/package/Main.java, // 那么下面这条语句表示的是相对于项目根目录的一个相对路径。 File relFilePath = new File("./data/input.txt"); ``` 需要注意的一点是在Web应用开发场景下,涉及到URL映射时,“绝对路径”的概念会有所扩展,它不仅包含了物理磁盘上的完整路径信息,还涉及到了HTTP请求中的上下文路径部分。例如: - 当通过浏览器发送GET请求访问某个Servlet程序时使用的URL形如`http://localhost:8080/myapp/responseDemo2`; - 此处`myapp`即是所谓的“虚拟路径”,它是部署期间指定的应用名称前缀; - 如果要实现页面间的跳转或是资源加载等功能,则应当采用以斜杠开头的形式作为绝对路径,如`/myapp/resource/path`,并借助`request.getContextPath()`动态获取这部分内容以便适应不同环境下的配置差异[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值