方式一
import java.io.IOException;
public class Test {
public static void main(String[] args){
String cmd ="./test.sh";
System.out.println(cmd);
try {
Runtime.getRuntime().exec(cmd);
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
方式二
@RestController
@RequestMapping("/converter")
public class PDFController {
private static String shellFile="/home/appData/shell/word2pdf.sh";
private static String shellDir="/home/appData/shell/";
private static String targetDir="/home/appData/";
private static String sourceFileName="target.docx";
private static String targetFileName="target.pdf";
@PostMapping("/converterToPdf")
public byte[] wordToPdf(@RequestBody byte[] sourceByte){
byte2File(sourceByte,targetDir,sourceFileName);
ProcessBuilder processBuilder=new ProcessBuilder(shellFile,sourceFileName);
processBuilder.directory(new File(shellDir));
try {
Process p = processBuilder.start();
try {
p.waitFor();
} catch (InterruptedException e) {
throw new RuntimeException(e.getMessage());
}
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
byte[] targetByte = file2byte(targetDir + targetFileName);
return targetByte;
}