是的,可以在AnyLogic Cloud公共云上运行具有外部依赖项的AnyLogic模型。为了使模型工作,您需要将所有外部依赖项包含在模型文件夹中。在云上运行的模型将获得对此文件夹的完全读/写访问权限。
以下是一个示例模型,它包含一个外部CSV文件作为其依赖项。在模型顶部的自定义库中,使用Java关键字“getResourceAsStream()”将CSV文件加载到模型中。这个模型可以在AnyLogic Cloud上运行,并且它能够读和写CSV文件。
import java.io.*;
import java.util.*;
public class CustomLibrary extends Agent
{
public static void readCSV()
{
InputStream input = CustomLibrary.class.getResourceAsStream("external_data.csv");
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String line;
try {
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void writeCSV()
{
FileWriter fw = null;
try {
fw = new FileWriter("external_data.csv");
BufferedWriter bw = new BufferedWriter(fw);
bw.write("1, 2, 3, 4");
bw.newLine();
bw.write("5, 6, 7, 8");
bw.newLine();
bw.write("9, 10, 11, 12");
bw.flush();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}