我想使用GraphViz在我的程序中生成一些图形。这只是一个问题:我不想生成任何临时文件。使用Java创建GraphViz图形,无需任何中间文件
以下是我从这里得到:
public class GraphBuilder{
/* Some code generating a DOT formatted String representing my graph */
/* Generation the graph using the plain format */
Runtime runtime = Runtime.getRuntime();
Process p = null;
try {
p = runtime.exec("neato -Tplain c:\\users\\tristan\\desktop\\test1");
} catch (IOException e) {
System.err.println(e.getMessage());
}
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuilder builder = new StringBuilder();
String line = null;
try{
while ((line = br.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
} catch(IOException e){
}
String result = builder.toString();
System.out.println(result);
确定,所以,从现在开始,我的程序读取一个文件,但我想要的NEATO程序读取早些时候由程序生成我的字符串。
我该怎么办?
在此先感谢!
你已经搜索的Java API在这里吧? http://www.graphviz.org/Resources.php – Leo
是的,但似乎每个Java API使用临时文件 – Kaijiro
这是一个耻辱。 :-(如果它们中的任何一个是开源的,也许你可以使用它来使用流,而不是写入磁盘。对不起,没有更好的建议:-( – Leo