2

我想运行我的 java 程序,它需要制作一堆图形图像。我有一个网站,但我不希望每次有人访问该页面时都运行 graphviz 程序,所以我正在运行一个预定的服务器端 java 程序,它将制作图表,以便网页只拍摄图像。现在我似乎无法弄清楚。我正在使用 spring 查询数据库来为我的图形生成信息,然后我制作了一个 .dot 文件。使用简单的文本编写器。我将整个 graphviz 程序放在我的服务器上,我将如何从这个 .dot 文件中获取图像。我已经完成了我的研究,我需要做一个

  $ -Tpng graphic.dot -o graphic.png

键入呼叫,但这是一个终端呼叫。我似乎无法弄清楚。我应该使用像 Grappa 这样的东西吗?我应该怎么做这个问题?我是否应该尝试打开exe并将该行代码作为参数传递,此外将在哪里创建图像文件?

4

1 回答 1

4

如果我理解正确,您想从服务器上定期运行的 java 程序中运行命令行程序。

您可以尝试以下方法:

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("c:\\graphvizbinpath\\dot.exe -Tpng c:\\graphic.dot -o c:\\graphic.png");

当然,您需要调整路径,并且执行 java 程序的用户应该具有适当的文件系统权限。

于 2012-07-09T19:24:03.877 回答