Java學習篇之---getResource()和getResourceAsStream()

來源:互聯網
上載者:User

標籤:java

getResource()和getResourceAsStream()
編譯後的Java類檔案可以打包成一個jar檔案隨處運行。但是當我們需要使用一些資源如:一幅映像,一段音頻時,就需要在jar包外帶有一個資源檔夾,必須保證jar包和資源檔夾一起發布否則程式就不能正常運行。我們希望的是只發布一個jar包,把資源均包含在內。為此我們需要讀取資源檔:
利用Java提供的兩個函數URL Class.getResource()和InputStream Class.getResourceAsStream()。
這裡只著重介紹函數URL Class.getResource(),函數InputStream Class.getResourceAsStream()與之類似。
我的項目結構如下:

檔案version.properties存放位置如下:

代碼如下:package com.ryze.work.component;public class MainFrame {//public static final String VERSION_PROPERTIES_FILENAME = "/version.properties";public static final String VERSION_PROPERTIES_FILENAME = "version.properties";public static void main(String[] args) throws Exception{MainFrame mainFrame = new MainFrame();mainFrame.test();}public void test(){java.net.URL versionPropertiesURL = this.getClass().getResource(VERSION_PROPERTIES_FILENAME);System.out.println(versionPropertiesURL);}}
運行結果如下:

當用代碼        public static final String VERSION_PROPERTIES_FILENAME = "/version.properties";替換掉public static final String VERSION_PROPERTIES_FILENAME = "version.properties";
則需要將檔案version.properties放到如下路徑:



Java學習篇之---getResource()和getResourceAsStream()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.