Запуск командной строки Windows из Java - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь выполнить следующую команду

tesseract test10.png text -l nor

с помощью команды Java

Runtime.getRuntime().exec()

.

Работает при использовании простого "cmd"/ c dir ", но я не могу понять правильный синтаксис / способ использования команды.

Пожалуйста, помогите!

Ответы [ 3 ]

1 голос
/ 13 октября 2011

вы используете exec (String cmd) или exec (String [] cmd)?

иногда у меня возникали проблемы с первым, хотя я не могу сказать, что пошло не так

если вы выполняете "tesseract test10.png text -l, ни", тогда попробуйте "cmd / C \" tesseract test10.png text -l, ни \ "" (и так же, как String []), возможно, некоторые из этих работ

0 голосов
/ 09 апреля 2013

Это работает:

try {
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec("C:\\Path_to_tesseract\\tesseract.exe D:\\image.png D:\\outputFile");

        BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

        String line=null;

        while((line=input.readLine()) != null) {
            System.out.println(line);
        }

        int exitVal = pr.waitFor();
        System.out.println("Exited with error code "+exitVal);

    } catch(Exception e) {
        System.out.println(e.toString());
        e.printStackTrace();
    }
0 голосов
/ 14 октября 2011

Взгляните на OCR.java файл VietOCR , который использует ProcessBuilder для вызова исполняемого файла Tesseract.

...