java 程序执行linux脚本

方式一

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;
    }

  

 

posted @ 2019-07-04 15:16  农夫与蛇丶  阅读(4083)  评论(0编辑  收藏  举报