【问题标题】:Is there any other method other then getResourceAsStream() to retrieve the file InputStream?除了 getResourceAsStream() 之外还有其他方法来检索文件 InputStream 吗?
【发布时间】:2012-11-27 17:33:33
【问题描述】:
InputStream str = this.getClass()
                      .getClassLoader() 
                      .getResourceAsStream( "filename" );

文件与类在同一个包中。
它每次都返回null。无论如何我们可以用其他方法替换getResourceAsStream(...) 吗?

【问题讨论】:

    标签: java embedded-resource


    【解决方案1】:

    如果你想从同一个包中加载东西,不要使用getClassLoader。如果这样做,则需要提供完整路径。

    Just

     InputStream str = this.getClass().getResourceAsStream( "filename" );
    

    【讨论】:

    • 这也行不通。我尝试过这个。我需要在任何地方放置任何反斜杠 (/) 吗?而且我听说目录路径不会获取结果,但类路径会?那是什么?
    • 不,如果文件确实在同一个包中,那将有效。文件具体在哪里?类文件(不是源文件),以及要加载的文件?都在同一个 JAR 文件中?
    • 我们要检索的文件是一个ovf文件。不是java文件。它位于 src 文件夹中。 .class 位于类文件夹中。
    • 您需要将 ovf 文件复制到 classes 文件夹(如果您从中加载类)。
    猜你喜欢
    • 2015-12-08
    • 2012-04-10
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2013-12-22
    • 2017-05-09
    相关资源
    最近更新 更多