前言:
在項目中經常會有要讀取靜態文件,比如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