getResourceAsStream何时实际加载资源?

时间:2017-07-30 01:07:16

标签: java file-management

getResourceAsStreamClass中的方法ClassLoader会返回InputStream。这个InputStream是否实际上在调用getResourceAsStream时加载了所有内容,还是只是指向某个系统在请求部分内容时加载资源?

2 个答案:

答案 0 :(得分:0)

  

getResourceAsStream何时实际加载资源?

该方法只是打开一个用于读取资源的流。它没有"加载"它"

流的实际行为将是实现(例如类加载器)特定的,但通用ClassLoader API文档中没有任何内容建议 1 类加载器应该< / em>将资源预先读入内存。

  • 如果想要类加载器来执行此操作,则可以编写自定义 类加载器。

  • 如果您想确定特定的类加载器那样做 ...阅读源代码。然后如有必要使用不同行为的不同类加载器,或实现自己的 2

1 - 甚至不是方法或类名,IMO。 A&#34;类加载器&#34;加载类,我读了“#34; load&#34;具有不适用于其他事物的特定技术含义。

2 - 可能存在难以理解的情况。例如,一个类加载器,它从需要在单个I / O操作中读取数据的设备读取。

答案 1 :(得分:0)

这是一个InputStream。当读取它时,它会被读取。没有神秘感。