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

廉价感情. 提交于 2019-11-27 00:52:50

前言:

在项目中经常会有要读取静态文件,比如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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!