5

据我所知,Class.getResourceAsStream()得到一个InputStream指向 .jar 文件中的文件?如果我对此有误,请纠正我。

有什么方法可以临时将外部文件“加载”到 .jar 中,以便该getResourceAsStream()方法可以检索它?

例如加载C:/folder/file.txt到 .jar 中,以便MyClass.class .getResourceAsStream("file.txt")将工作返回InputStream到文件中,或者至少将它的副本暂时“加载”到 .jar 中。

很抱歉我的措辞如此糟糕,我希望你能理解我正在尝试做的事情,不太清楚如何简单地解释它。

4

2 回答 2

4

不,getResourceAsStream() 方法从类路径中获取文件。这包括在命令行上像这样指定的任何内容(windows 版本,linux 使用 ':' 作为分隔符):

java -cp "path;path2;path3;path4/some.jar" your.main.Clazz
于 2013-02-20T10:46:09.917 回答
2
this.getClass().getResourceAsStream("myImage.png");

确保您的图像在类路径中。无需将其放入任何JAR此类中。

于 2013-02-20T10:46:39.757 回答