Java Class类 getResourceAsStream()方法及示例

Class类getResourceAsStream()方法

  • getResourceAsStream()方法在java.lang包中可用。

  • getResourceAsStream()方法用于获取资源作为参数并将资源转换为InputStream。

  • getResourceAsStream()方法是一个非静态方法,只能通过类对象进行访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 返回InputStream对象时,getResourceAsStream()方法可能会引发异常。
    NullPointerException:当给定的resource_name为null时,可能会引发此异常。

语法:

    public InputStream getResourceAsStream(String resource_name);

参数:

  • 字符串resource_name –表示资源的名称。

返回值:

此方法的返回类型为InputStream,它基于以下情况返回以下值:

  • 当存在与给定名称关联的任何资源时,它将返回InputStream。

  • 当不存在与给定名称关联的资源时,它返回null。

示例

// Java程序演示示例
// InputStream getResourceAsStream(String resource_name)
//类的方法

import java.io.*;
import java.util.*;

public class GetResourceAsStreamOfClass {
    public static String resource(String res) {
        String count = "";
        try {

            Class cl = Class.forName("GetResourceAsStreamOfClass");
            ClassLoader loader = cl.getClassLoader();

            //通过使用getResourceAsStream()方法来获取资源
            //并将其转换为InputStream
            InputStream is = loader.getResourceAsStream(res);
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);

            String line;

            while ((line = br.readLine()) != null) {
                count = count + 1;
            }
            is.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return count;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(resource("Nhooo.doc"));
    }
}

输出结果

Nhooo.com is a technical site