【JavaEE】讀取配置檔案路徑的幾種方式
讀取配置檔案的各種方式
1.類載入器讀取:
只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。
①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader();
②呼叫類載入器物件的方法:public URL getResource(String name);
此方法查詢具有給定名稱的資源,資源的搜尋路徑是虛擬機器的內建類載入器的路徑。
類 URL 代表一個統一資源定位符,它是指向網際網路”資源”的指標。
資源可以是簡單的檔案或目錄,也可以是對更為複雜的物件的引用.
URL物件方法:public String getPath(),獲取此 URL 的路徑部分。
示例程式碼:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ClassLoader cl = ServletContextDemo.class.getClassLoader();//得到類載入器
URL url = cl.getResource("cn/edu/c.properties");
String path = url.getPath();
InputStream in = new FileInputStream(path);
Properties props = new Properties();
props.load(in);
System.out.println(props.getProperty("key"));
}
2.類載入器讀取:
只能讀取classes或者類路徑中的任意資源,但是不適合讀取特別大的資源。
①獲取類載入器 ClassLoader cl = 類名.class.getClassLoader();
②呼叫類載入器物件的方法:public InputStream getResourceAsStream(String name);
返回讀取指定資源的輸入流。資源的搜尋路徑是虛擬機器的內建類載入器的路徑。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ClassLoader cl = ServletContextDemo.class.getClassLoader();//得到類載入器
InputStream in = cl.getResourceAsStream("cn/edu/c.properties");
Properties props = new Properties();
props.load(in);
System.out.println(props.getProperty("key"));
}
3.ResourceBundle讀取:只能讀取properties的檔案。
ResourceBundle讀取的檔案是在classpath路徑下,也就是src或者src目錄下。我們在專案中需要打包,
打包後的properties檔案在jar中,修改很不方便,我們需要把properties檔案放在jar外隨時可以修改。
這樣打包後可以直接修改properties檔案。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//配置檔名為c.properties在包cn.edu下。
ResourceBundle rb = ResourceBundle.getBundle("cn.edu.c");
System.out.println(rb.getString("key"));
}
4.利用ServletContext可以讀取應用中任何位置上的資源。
侷限性:只能在web應用中用
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String path = getServletContext().getRealPath("/WEB-INF/classes/cn/edu/c.properties");
InputStream in = new FileInputStream(path);
Properties props = new Properties();
props.load(in);
System.out.println(props.getProperty("key"));
}
相關文章
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- php讀取檔案的幾種方式PHP
- spring-boot-route(二)讀取配置檔案的幾種方式Springboot
- NodeJs 的幾種檔案路徑NodeJS
- PG獲取檔案大小的幾種方式
- 檔案路徑類 字串的各種擷取方式,包括擷取到檔名字串
- Java 最佳化:讀取配置檔案 "萬能方式" 跨平臺,動態獲取檔案的絕對路徑Java
- SpringBoot讀取配置資料的幾種方式Spring Boot
- Spring Boot 入門系列(二十五)讀取配置檔案的幾種方式詳解!Spring Boot
- pyinstaller 打包後讀取 ini 配置檔案路徑錯誤,怎麼定位配置檔案
- python讀取大檔案的幾種方法Python
- 【Django】檔案讀取時路徑問題Django
- nodejs幾種檔案路徑及path模組NodeJS
- oracle 修改資料檔案路徑(四種方式)Oracle
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- 獲取沙盒檔案路徑的兩種方法
- Spring boot 讀取properties檔案的四種方式Spring Boot
- go–讀取檔案的方式Go
- 檔案上傳的幾種方式
- c# 讀取多個路徑檔案到一個檔案
- Python最常用的讀取指定路徑檔案的方法!Python
- 精進 Spring Boot 03:Spring Boot 的配置檔案和配置管理,以及用三種方式讀取配置檔案Spring Boot
- JavaWeb中讀取【專案路徑下檔案】的路徑問題:this.getServletContext().getRealPath()JavaWebServletContext
- 【Python】配置檔案配置路徑Python
- JavaScript~檔案下載的幾種方式JavaScript
- Java檔案下載的幾種方式Java
- IOS中獲取各種檔案的目錄路徑的方法iOS
- 5種高大上的yml檔案讀取方式,你知道嗎?
- c# 獲取應用程式exe檔案路徑及退出應用程式的幾種方法C#
- c#檔案路徑的獲取C#
- Java檔案下載 幾種方式Java
- Java 專案讀取 resource 資原始檔路徑問題Java
- viper 讀取配置檔案
- go配置檔案讀取Go
- IOC - 讀取配置檔案
- Java中獲取JAR檔案中資源路徑的三種方法JavaJAR
- Java中讀取檔案6種記憶體安全方式Java記憶體
- iOS中獲取各種檔案的目錄路徑的方法(轉)iOS