java.lang.ClassLoader.getSystemResourceAsStream() 方法範例


java.lang.ClassLoader.getSystemResourceAsStream() 方法開啟讀取,從載入類的搜尋路徑指定名稱的資源。

宣告

以下是java.lang.ClassLoader.getSystemResourceAsStream()方法的宣告

public static InputStream getSystemResourceAsStream(String name)

引數

  • name -- 這是資源的名稱。

返回值

此方法用於讀取資源返回的輸入流,或如果資源不能被發現返回null。

異常

  • NA

例子

下面的例子顯示java.lang.ClassLoader.getSystemResourceAsStream()方法的使用。

package com.yiibai;

import java.lang.*;
import java.io.*;

class ClassLoaderDemo {

   static String getResource(String rsc) {
      String val = "";

      try {
         Class cls = Class.forName("ClassLoaderDemo");

         // returns the ClassLoader object associated with this Class
         ClassLoader cLoader = cls.getClassLoader();
         // input stream
         InputStream i = cLoader.getSystemResourceAsStream(rsc);
         BufferedReader r = new BufferedReader(new InputStreamReader(i));

         // reads each line
         String l;
         while((l = r.readLine()) != null) {
            val = val + l;
         } 
         i.close();
      } 
      catch(Exception e) {
         System.out.println(e);
      }
      return val;
   }
    
   public static void main(String[] args) {
                                      
     System.out.println("File1: " + getResource("file.txt"));
     System.out.println("File2: " + getResource("test.txt"));                
   }
}  

假設我們有一個文字檔案file.txt,它具有以下內容:

This is YiiBai!

假設我們有另一個文字檔案test.txt,它具有以下內容:

This is Java Tutorial

讓我們來編譯和執行上面的程式,這將產生以下結果:

File1: This is YiiBai!
File2: This is Java Tutorial