class與classloader的getResourceAsStream區別
我們經常用getResourceAsStream來獲取配置檔案資訊,也有2種方式getResourceAsStream,一種是class.getResourceAsStream,
另一種是classloader.getResourceAsStream,這2種方式有什麼區別呢?
class.getResourceAsStream("path"):從當前class的目錄下找資源
class.getResourceAsStream("/path");/代表了class的包名,也就是從root classpath尋找資源
而對於classloader.getResourceAsStream("path"),只有這種方式有效,效果同class.getResourceAsStream("/path"),從根目錄去找。
另外,如果載入的檔案出現亂碼,可以使用InputStreamReader,如下:
Properties p = new Properties();
InputStreamReader isr = new InputStreamReader(classLoader.getResourceAsStream("dashboard-config.properties"), "utf-8");
p.load(isp);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1227938/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一文理解class.getClassLoader().getResourceAsStream(file)和class.getResourceAsStream(file)區別
- Class.forName和ClassLoader.loadClass的區別
- self::class和static::class的區別
- Class.isAssignableFrom與instanceof的區別
- CSS中的class與id區別及用法CSS
- Class和ClassLoader的getResource方法對比
- Swift語言中class、struct、enum的聯絡與區別SwiftStruct
- scala class和object的區別Object
- swift中Class和Struct的區別SwiftStruct
- JS中class和id的區別JS
- SCSS @mixin和class 區別CSS
- 關於Class類與Classloader類的getResource方法獲取路徑的問題!
- Java之.class和.getClass()的區別Java
- C++中 struct 和 class 的區別C++Struct
- C++中struct 和 class的區別C++Struct
- C# 中 Struct 和 Class 的區別總結C#Struct
- C++基礎(八)struct和class的區別C++Struct
- 【JAVA】Class.forName用法以及和new的區別Java
- ??與?:的區別
- 請教:應用伺服器如何識別被更新的class檔案,是透過ClassLoader嗎?伺服器
- java反射(1) 之class.forName(""), 類名.class, 物件.getClass()區別Java反射物件
- SpringBoot自定義classloader加密保護class檔案Spring Boot加密
- MySQL的@與@@區別MySql
- mybatis #與$的區別MyBatis
- Null 與 “” 的區別Null
- &與&&, |與||區別
- php class中public,private,protected,static的區別,以及例項PHP
- in與exist , not in與not exist 的區別
- OC 匯入類 #import和@class 區別複習Import
- CentOS 與 Ubuntu 的區別CentOSUbuntu
- artice與section的區別
- GET 與 POST 的區別
- WebSocket 與 Socket 的區別Web
- Postgresql與MySQL的區別MySql
- chown與chmod的區別
- session與cookie的區別SessionCookie
- LESS與SASS的區別
- free 與 CFRelease 的區別