Java学习-绝对路径和相对路径

一、概念

  • 绝对路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径

  • 相对路径:由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系

二、java通过绝对路径读取文件

文件路径: E:\my file\images\lixin.jpg
读取文件代码:

File file=new File("E:\\my file\\images\\lixin.jpg")
需要注意的是绝对路径还要转义反斜杠

三、java通过src目录读取文件(以src为根目录)

文件路径:E:\李鑫\o2o\src\main\resources\watermark.jpg
在这里插入图片描述
获取文件代码:

File file=new File("src/main/resources/watermark.jpg")

当我们把文件放在Java项目的src\目录下时,可以通过文件的绝对路径来读取,比第一种方法更好一些,注意src前是不需要添加斜杠/的,当然我们也可以把文件放在src目录下,就可以通过读取src/main/resources/watermark.jpg来实现

四、java通过CLASSPATH路径来读取包内文件(bin目录)

  • 第一种方法:类名.class.getResource("/").getPath()+文件名称
  • 另外一种方法:Thread.currentThread().getContextClassLoader().getResource("").getPath()+文件名称【主要使用】

bin是本项目的classpath,只要和当前类的的java源代码同一目录下即可,会自动加载到bin目录下

推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法。

String basePath=Thread.currentThread().getContextClassLoader().getResource("").getPath();

五、Web应用程序中资源的寻址

在Web应用程序中,我们绝对不能使用相对于当前用户目录的相对路径。

在Web应用程序中,我们一般通过ServletContext.getRealPath("/")方法得到Web应用程序的根目录的绝对路径。

这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。

这是我们开发Web应用程序时一般所采取的策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值