首頁  >  問答  >  主體

java imagemagick的小问题,返回的状态是4

最后输入的为什么是4?哪里有问题

String[] cmd = {
                "convert",
                "-scale",
                "98x",
                "-quality",
                "80",
                "C:/opt/trs/data/MD/2016/04/15/W0MD20160415zurj7EINBBE7QiRFrzjU.jpeg",
                "C:/opt/trs/data/MD/2016/04/15/W0MD20160415zurj7EINBBE7QiRFrzjU_98.jpeg" };
        Process proc = Runtime.getRuntime().exec(cmd);// 执行命令
        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
        final InputStream pis = proc.getInputStream();
        final InputStream per = proc.getErrorStream();
        try {
            Thread t = new Thread() {
                public void run() {
                    try {
                        int a = 0;
                        while ((a = per.read()) != -1) {
                            baos.write(a);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            };
            t.start();

            int a = 0;
            while ((a = pis.read()) != -1) {
                baos.write(a);
            }

            t.join();
            int exitCode = proc.waitFor();
            String msg = new String(baos.toByteArray());
            System.out.println("exitCode = "+exitCode);
            System.out.println("msg = "+msg);
        } finally {
            if (pis != null) {
                try {
                    pis.close();
                } catch (Exception ex) {
                }
            }
            if (per != null) {
                try {
                    per.close();
                } catch (Exception ex) {
                }
            }
        }
怪我咯怪我咯2763 天前375

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-04-17 17:42:38

    自己的問題從來都只能自己想辦法解決╮(╯▽╰)╭
    可能是convert這個命令windows下也有,所以直接改了路徑,改為imagemagick下的convert,問題解決!

    回覆
    0
  • 取消回覆