Java 類 getResourceAsStream() 方法



描述

Java 類 getResourceAsStream() 方法用於查詢具有給定名稱的資源。如果找到具有此名稱的資源,則返回一個 InputStream 物件;否則返回 null。

宣告

以下是 java.lang.Class.getResourceAsStream() 方法的宣告

public InputStream getResourceAsStream(String name)

引數

name - 這是所需資源的名稱。

返回值

此方法返回一個 InputStream 物件;如果找不到具有此名稱的資源,則返回 null。

異常

NullPointerException - 如果 name 為 null。

獲取資源流示例

以下示例演示了 java.lang.Class.getResourceAsStream() 方法的使用。在此程式中,我們建立了一個 ClassDemo 的例項,然後使用 getClass() 方法獲取該例項的類。使用 getResourceAsStream(),我們從檔名中檢索了流,並列印了其內容。

package com.tutorialspoint;

import java.io.*;

public class ClassDemo {

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

      try {
         // input stream
         InputStream i = ClassDemo.class.getResourceAsStream(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 TutorialsPoint!

假設我們還有另一個文字檔案 test.txt,其內容如下:

This is Java Tutorial

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

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

獲取不存在的資源流示例

以下示例演示了 java.lang.Class.getResourceAsStream() 方法的使用。在此程式中,我們建立了一個 ClassDemo 的例項,然後使用 getClass() 方法獲取該例項的類。使用 getResourceAsStream(),我們從檔名中檢索了流,並列印了其內容。

package com.tutorialspoint;

import java.io.*;

public class ClassDemo {

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

      try {
         // input stream
         InputStream i = ClassDemo.class.getResourceAsStream(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("file1.txt"));
      System.out.println("File2: " + getResource("test1.txt"));                
   }
} 

輸出

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

java.lang.NullPointerException
File1: 
java.lang.NullPointerException
File2: 
java_lang_class.htm
廣告