Java 使用getClass().getResourceAsStream()方法獲取資源
之前想獲取一個資源文件做一些處理,使用getClass().getResourceAsStream()一直拿不到文件。 具體的用法。
1
2
3
|
1 InputStream is = this .getClass().getResourceAsStream(fileName); //拿不到資源 2 InputStream is = this .getClass().getResourceAsStream( "/" + fileName); // 拿到資源 3 InputStream is = this .getClass().getClassLoader().getResourceAsStream(fileName); //拿到資源 |
具體文件和代碼的位置是,代碼在src/main/java目錄下,資源文件在src/main/resources/目錄下。
會從當前類的目錄下去找,這個文件如果不和該類在一個目錄下,就找不到。
會從編譯后的整個classes目錄下去找,maven也會把資源文件打包進classes文件夾,所以可以找到。
ClassLoader就是從整個classes文件夾找的,所以前面無需再加/。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:https://my.oschina.net/kailuncen/blog/880164