Java ClassLoader getResourceAsStream()方法与示例

ClassLoader类getResourceAsStream()方法

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

  • getResourceAsStream()方法用于获取资源作为参数并将资源转换为InputStream,换句话说,我们可以说此方法用于表示InputStream来扫描给定资源。

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

  • 从资源到InputStream对象的转换时,getResourceAsStream()方法不会引发异常。

语法:

    public InputStream getResourceAsStream(String resource_name);

参数:

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

返回值:

此方法的返回类型为InputStream,它根据给定的情况返回以下值:

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

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

示例

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

import java.io.*;

public class GetResourceAsStreamOfClassLoader {
    static String resource(String res) {
        String count = "";
        try {
            Class cl = Class.forName("GetResourceAsStreamOfClassLoader");
            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 + line;
            }
            is.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return count;
    }
    public static void main(String[] args) {
        System.out.println(resource("getProperties().doc"));
    }
}

输出结果

File Writing Done!!