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
广告

© . All rights reserved.