方式一
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; }