resourceAsStream
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
getResourceAsStream的用法
getResourceAsStream 用法大致有以下幾種:
eg:com.x.y 下有類me.class ,同時有資源文myfile.xml。
? ? ? ? me.class.getResourceAsStream("myfile.xml");
eg: ?com.x.y 下有類me.class ,同時在 com.x.y.file 目錄下有資源文件myfile.xml。
? ? ?如下:me.class.getResourceAsStream("file/myfile.xml");
eg:com.x.y 下有類me.class ,同時在 com.x.file 目錄下有資源文件myfile.xml。
? 如下:me.class.getResourceAsStream("/com/x/file/myfile.xml");
?
總結(jié)一下:
第一:前面有 “ / ”: 代表了工程的根目錄classpath
me.class.getResourceAsStream("/com/x/file/myfile.xml");
第二:前面沒有 “ / ”: 代表當前類的目錄
me.class.getResourceAsStream("file/myfile.xml");
?
讀取資源文件的方法
/** 使用java.util.Properties類的load()方法 **/ Properties p = new Properties(); p.load(Test.class.getResourceAsStream("pathName")); p.getProperty("key");/** 使用java.util.ResourceBundle類的getBundle()方法 **/ ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault()); //根據(jù)指定國家/語言環(huán)境加載資源文件 String s = bundle.getString("key");/** 使用java.util.PropertyResourceBundle類的Constructor **/ InputStream in = new BufferedInputStream(new FileInputStream(name)); ResourceBundle rb = new PropertyResourceBundle(in);/** bufferedReader 的 readLine **/ InputStream resourceAsStream = Test.class.getResourceAsStream("pathName"); InputStreamReader in = new InputStreamReader(resourceAsStream,"utf-8"); BufferedReader fileReader = new BufferedReader(in); String tempString = fileReader.readLine(); //獲取資源文件中的每行數(shù)據(jù)?
java.util.ResourceBundle
????????這個類的作用就是讀取資源屬性文件(.properties),然后根據(jù).properties文件的名稱信息(本地化信息),匹配當前系統(tǒng)的國別語言信息(也可以程序指定),然后獲取相應(yīng)的properties文件的內(nèi)容。
????????properties文件名字一般的命名規(guī)范是:自定義名_語言代碼_國別代碼.properties,默認為:自定義名.properties。沒有提供語言和地區(qū)的資源文件是系統(tǒng)默認的資源文件。
eg:myres_en_US.properties?、myres_zh_CN.properties 、myres.properties
當在中文操作系統(tǒng)下,如果myres_zh_CN.properties、myres.properties兩個文件都存在,則優(yōu)先會使用myres_zh_CN.properties,當myres_zh_CN.properties不存在時候,會使用默認的myres.properties。
public class TestResourceBundle { public static void main(String[] args) { Locale locale1 = new Locale("zh", "CN"); ResourceBundle resb1 = ResourceBundle.getBundle("myres", locale1); System.out.println(resb1.getString("aaa")); ResourceBundle resb2 = ResourceBundle.getBundle("myres", Locale.getDefault()); System.out.println(resb1.getString("aaa")); Locale locale3 = new Locale("en", "US"); ResourceBundle resb3 = ResourceBundle.getBundle("myres", locale3); System.out.println(resb3.getString("aaa")); } }?
轉(zhuǎn)載于:https://my.oschina.net/u/3434392/blog/915824
總結(jié)
以上是生活随笔為你收集整理的resourceAsStream的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最简单的视音频播放示例7:SDL2播放R
- 下一篇: 安卓MP3播放器开发实例(3)之进度条和