2013-05-25 2 views
0

У меня есть perl-скрипт под названием pbp, который принимает файл html в качестве аргумента, а затем создает выходной файл. Вот мой текущий код. Infile получен ранее из JFile Chooser. Я не получаю никаких ошибок, но нет выхода из скрипта perl.Использование Runtime.getRuntime(). Exec() для запуска Perl-кода в java

try { 
      Process p = Runtime.getRuntime().exec(new String[] {"perl", "C:\\Users\\Roger\\Downloads\\The_Long-Awaited_Product_Specification_and_Sample_Files\\casey\\pbp", inFile.getAbsolutePath()}); 
      p.getInputStream().close(); 
      p.getOutputStream().close(); 
      p.getErrorStream().close(); 
      System.out.println(p.waitFor()); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } catch (InterruptedException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
+1

И у Perl все в порядке из командной строки? –

+0

Можете ли вы показать соответствующие части скрипта perl? –

+0

Perl корректно работает из командной строки. – user2420694

ответ

0

Вы не получите результат по каждому сценарию напрямую. Вам необходимо зафиксировать его, используя приведенный ниже код:

BufferedReader stdInput = new BufferedReader(new 
    InputStreamReader(p.getInputStream())); 


// read the output from the command 
System.out.println("EXE OUTPUT"); 
while ((s = stdInput.readLine()) != null) { 
    System.out.println(s); 
} 
Смежные вопросы