从java程序调用C编译器

我有一个项目,我需要编译C程序。 该项目是Java。 我必须将程序带入JTextArea,(我使用Swing for GUI),针对测试文件运行它并将结果输出到另一个JTextArea。 但是我的代码似乎有些不对劲。

Process p = new ProcessBuilder("c:\\MinGW\\bin\\cc.exe", "program.c").start(); 

program.c包含用户输入TextArea的程序,“c:\ MinGW \ bin \ cc.exe”是我的c编译器。 我检查过这不会引发任何exception。 它应该在我当前的目录中创建一个名为a.exe的文件,其中包含program.c文件,但它不是。正确的方法是什么?

我看到另外两个类似于此的post,但它们也没有为此提供简单的清洁解决方案。 另外,我必须在它之后运行创建的可执行文件。

提前致谢。

这样做的正确方法是什么?

一种方法是使用javax.tools.JavaCompiler “从程序中调用Java™编程语言编译器。” 这里有一个例子。