日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

resourceAsStream

發布時間:2025/3/8 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 resourceAsStream 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

getResourceAsStream的用法

  • Class.getResourceAsStream(String path): ?path 不以’/'開頭時默認是從此類所在的包下取資源,以’/'開頭則是從ClassPath根下獲取。只是通過path構造一個絕對路徑,最終由ClassLoader獲取資源。
  • ?Class.getClassLoader().getResourceAsStream(String path) : ?默認則是從ClassPath根下獲取,path不能以’/'開頭,最終是由ClassLoader獲取資源。
  • ServletContext.getResourceAsStream(String path): ?默認從WebAPP根目錄下取資源。 Jsp下的application內置對象就是上面的ServletContext的一種實現。
  • getResourceAsStream 用法大致有以下幾種:

  • ?要加載的文件和.class文件在同一目錄下:
    eg:com.x.y 下有類me.class ,同時有資源文myfile.xml。
    ? ? ? ? me.class.getResourceAsStream("myfile.xml");
  • 在me.class目錄的子目錄下:
    eg: ?com.x.y 下有類me.class ,同時在 com.x.y.file 目錄下有資源文件myfile.xml。
    ? ? ?如下:me.class.getResourceAsStream("file/myfile.xml");
  • 不在me.class目錄下,也不在子目錄下 :
    eg:com.x.y 下有類me.class ,同時在 com.x.file 目錄下有資源文件myfile.xml。
    ? 如下:me.class.getResourceAsStream("/com/x/file/myfile.xml");

    ?
  • 總結一下:

    第一:前面有 “ / ”: 代表了工程的根目錄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()); //根據指定國家/語言環境加載資源文件 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(); //獲取資源文件中的每行數據

    ?

    java.util.ResourceBundle

    ????????這個類的作用就是讀取資源屬性文件(.properties),然后根據.properties文件的名稱信息(本地化信息),匹配當前系統的國別語言信息(也可以程序指定),然后獲取相應的properties文件的內容。

    ????????properties文件名字一般的命名規范是:自定義名_語言代碼_國別代碼.properties,默認為:自定義名.properties。沒有提供語言和地區的資源文件是系統默認的資源文件。

    eg:myres_en_US.properties?、myres_zh_CN.properties 、myres.properties

    當在中文操作系統下,如果myres_zh_CN.properties、myres.properties兩個文件都存在,則優先會使用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")); } }

    ?

    轉載于:https://my.oschina.net/u/3434392/blog/915824

    總結

    以上是生活随笔為你收集整理的resourceAsStream的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。