Javaを使用してGraphVizからsccmapコマンドを呼び出そうとしています。Javaを使用してsccmapを呼び出す
String command = "/usr/bin/sccmap -S /home/paperclip/Desktop/graph.dot > /home/paperclip/Desktop/scc.dot";
try {
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(command);
System.out.println("Process exited with code = " + p.waitFor());
java.io.InputStream is = p.getInputStream();
java.io.BufferedReader reader = new java.io.BufferedReader(new InputStreamReader(is));
String s = null;
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
is.close();
} catch (Exception e) {
e.printStackTrace();
}
このコードスニペットの出力がある:
プロセスsccmap関数が出力するIが持っている場所にドットファイルを想定しているコード= 0
で終了指定された。しかし、私は期待どおりに動作しません。 exitValueが0として指定されていても、ドットファイルは作成されませんでした。
ターミナルで手動でコマンドを試してみましたが、それは完全に動作します。私も "ls"のような他のコマンドを使ってみました。なぜこのコードは "sccmap"で動作しないのですか?
また、jVraphViz(http://jgraphviz.sourceforge.net/)やgraphviz-java-api(http://www.loria.fr/~szathmar/)など、いくつかのJava APIを検索しました。 off/projects/java/GraphVizAPI/index.php)、私のためにはうまくいかないようです。
私はUbuntu 11.10を使用しており、GraphVizは既にインストールされています。
ありがとうございます!
代わりに、/ usr/bin/sccmap -S -o /home/paperclip/Desktop/scc.dot/home/paperclip/Desktop/graph.dot'を実行してください。 –
奇妙なことに、これは私のために働く。ありがとうございました! – paperclip