绝对路径与相对路径

绝对路径与相对路径

一、项目中的绝对路径(absolutePath)和相对路径(relativePath)简述
好多初学者问我相对路径的问题,所以在这里对绝对路径和相对路径做一个简单的讲解,希望对初学者有所帮助。
二、举个栗子来说明
首先我们的IDE使用IDEA,搭建一个简单的maven项目,目录结构如下:
项目目录结构
以本项目中user.properties文件为栗子
absolutePath:它的绝对路径是指在计算机硬盘上的物理路径,比如在我电脑上的绝对路径就是:C:\pathStu\src\main\resources\conf\user.properties。

relativePath:对于很多同学难以理解,贴一段代码,看注释吧。

package com.alex;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;

/**
 * @author alex
 * @Title: Example
 * @Description: TODO
 * @date 2019/3/5 18:04
 */
public class Example {
    public static void main(String[] args) throws IOException {
        one();
    }
    public static void one() throws IOException {
        /**
         * 相对路径:
         * A:user.properties的相对路径相对于谁呢?
         * B:你在哪里想找user.properties文件,那么就相对于当前这个文件,比如这里在Example.class文件中找
         *      user.properties文件,那么当前文件就是Example.class。(注意:这里为什么不写Example.java呢?
         *      因为程序运行时执行的是编译后的.class文件)。
         * A:../../conf/user.properties,应该怎么解读呢?
         * B:首先我们要知道"../"表示返回上一级目录的意思。当前文件Example.class
         *    所在的目录是pathStu/classes/com/alex。relativePath路径是相对于当前文件,而当前文件所在目录是pathStu/classes/com/alex。
         *    所以,relativePath表示的路径是pathStu/classes/com/alex/../../conf/user.properties,我们访问这个的时候
         *    是这样的,首先进入pathStu目录,然后进入classes目录,然后进入com目录,然后进入alex目录,然后返回上一级目到com
         *    目录,然后返回上一级到classes目录,然后进入conf目录,这样就找到了user.properties文件。现在你会发现,我们虽然写了pathStu这个目录,但在我们找user.properties文件时,我们根本没有用到这个目录,找到classes目录就开始向里面找conf目录了。
         */
        String relativePath = "../../conf/user.properties";
        URL resource = Example.class.getResource(relativePath);
        InputStream inputStream = resource.openStream();
        byte[] ch = new byte[inputStream.available()];
        inputStream.read(ch,0,inputStream.available());
        System.out.println(new String(ch));
        inputStream.close();
    }
}

通过上面的代码注释,希望可以让你对相对路径有所理解。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的绝对路径是指从文件系统的根目录开始的完整路径,而相对路径是相对于当前工作目录的路径。 要获取当前工作目录的路径,可以使用以下代码: ```python import os print(os.getcwd()) ``` 这将打印出当前工作目录的路径,即相对路径位置。 在Windows中,绝对路径可以直接使用反斜杠作为路径分隔符,例如`E:\python\爬虫课件`。由于反斜杠在Python中被用作转义符,因此在使用Windows的路径标识时,需要在路径前面加上一个`r`,表示原始字符串常量,以保持字符的原始意义,例如`r'E:\python\爬虫课件'`。 相对路径与当前工作目录有关,是相对于当前工作目录的路径。例如,如果当前工作目录是`E:\python`,那么相对路径`爬虫课件`表示的是`E:\python\爬虫课件`。如果当前工作目录是`E:\python\project`,那么相对路径`../爬虫课件`表示的是`E:\python\爬虫课件`。相对路径使用`.`表示当前目录,使用`..`表示上一级目录。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [python绝对路径相对路径](https://blog.csdn.net/weixin_45619473/article/details/124776708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [python的绝对路径相对路径](https://blog.csdn.net/weixin_42830697/article/details/120015478)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值