1. 首先编译运行生成c++程序可执行程序;
2. 采用java提供的runtime,运行c++程序,如果存在传入参数的问题,提供一个比较实用的思路,将命令先写入文件中,之后在从文件读出,直接看详细代码。
package com.chinavo.service;
import java.io.FileWriter;
import java.io.IOException;
import org.springframework.stereotype.Service;
@Service
public class BuildIndexService {
public void buildindexSQL(String context) {
if (!context.equals(null)) {
FileWriter writer;
try {
writer = new FileWriter("/home/写入的文件名");
writer.write(context);
writer.flush();
writer.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 打开cmd 传入命令
String[] cmd = new String[] { "sh", "-c",
"/home/c++编译后的程序名 < /home/写入的文件名" };
Runtime runtime = Runtime.getRuntime();
Process process = null;
try {
process = runtime.exec(cmd);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}