我想使用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