额,好吧。
我在linux下做的。
先写个简单c程序,a.c:#include
int main()
{
printf("Hello world\n");
return 0;
}
再写个shell脚本a.sh。gcc a.c
./a.out
最后写个java 类A,在A里开个线程执行a.sh。import java.io.*;
public class A{
public static void main(String[] args) {
String cmd = "sh a.sh";
Runtime run = Runtime.getRuntime();
String result = "";
try {
Process p = run.exec(cmd);
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String lineStr;
while ((lineStr = br.readLine()) != null) {
result += lineStr;
}
br.close();
in.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(result);
}
}
执行结果:
dty@ubuntu:~$ javac A.java
dty@ubuntu:~$ java A
Hello world