我将一些类和库打包到一个JAR文件中。但是当前代码无法原样访问JAR文件中的文件。
String scenarioFile = "netlogo/Altruism.nlogo";
// InputStream is = this.getClass().getResourceAsStream(scenarioFile);
simulator = HeadlessWorkspace.newInstance();
simulator.open(scenarioFile);
<。> .open需要一个字符串,但我读到我需要使用输入流格式,因此它不起作用。还有其他解决方法吗?
答案 0 :(得分:0)
在Tunaki的帮助下,我能够找到一种方法来实现它,并且它有效!
我做的是下载commons.io.jar文件
import org.apache.commons.io.*;
然后使用输入流读取文件然后将其转换为字符串并使用Tunaki建议的HeadlessWorkspace包的openFromSource方法来读取它。
InputStream is = this.getClass().getResourceAsStream(NetlogoFile);
String scenarioFile = IOUtils.toString(is, "UTF-8");
simulator = HeadlessWorkspace.newInstance();
simulator.openFromSource(scenarioFile);