gpt4 book ai didi

java - 使用Java调用sccmap

转载 作者:行者123 更新时间:2023-12-02 00:24:36 26 4
gpt4 key购买 nike

我正在尝试使用 Java 从 GraphViz 调用 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();
}

这段代码的输出是:

Process exited with code = 0

sccmap 函数应该在我指定的位置输出一个点文件。但是,它并不像我预期的那样工作。即使 exitValue 指定为 0,也不会创建点文件。

我尝试在终端中手动使用该命令,它运行良好。我还尝试使用其他命令,例如“ls”,它也有效。为什么此代码不适用于“sccmap”?

我还搜索了 GraphViz 的一些 Java API,例如 jGraphViz (http://jgraphviz.sourceforge.net/) 和 graphviz-java-api (http://www.loria.fr/~szathmar/off/projects/java/GraphVizAPI/index.php),但它们似乎不适合我。

仅供引用,我使用的是 Ubuntu 11.10,并且 GraphViz 已经安装。

谢谢!

最佳答案

> 由 shell 解释(它是流重定向),它不是应用程序的参数。在这种情况下没有 shell。

尝试使用/usr/bin/sccmap -S -o/home/paperclip/Desktop/scc.dot/home/paperclip/Desktop/graph.dot

关于java - 使用Java调用sccmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com