【Java】【42】根据相对路径和绝对路径获取文件

前言:

在项目中经常会有要读取静态文件,比如xml,json,properties文件。如果写死为“file:C:”,可以读到,但很不方便

正文:

目录结构:

方法1:class.getResource(name)

该方法接收一个表示文件路径的参数name,返回一个URL对象,该URL对象表示的name指向的那个资源(文件)。这个方法是在类中根据name获取资源。其中,name可以是文件的相对路径(相对于该class类来说),也可以是绝对路径(绝对路径的话,根目录符号/是代表项目路径而不是磁盘的根目录)

App.class.getResource('innerFile.txt')
App.class.getResource('/test/test/innerFile.txt')

方法2:classLoader.getResource(name)

该方法作用与上一个方法一样,区别是该方法只能接收一个相对路径,不能接收绝对路径如/xxx/xxx。并且,接收的相对路径是相对于项目的包的根目录来说的

App.class.getClassLoader().getResource('test/test/innerFile.txt')

参考博客:

Java项目中根据相对路径和绝对路径获取文件的方法 getResource(name) - 绕行的专栏 - CSDN博客
https://blog.csdn.net/c315838651/article/details/71915742

原文地址:https://www.cnblogs.com/huashengweilong/p/11337144.html