Witam.
Mam problem pod tytułem: mam program napisany w C++ i przeriobiony na exe. Wszystko działa i cacy.
Teraz mam napisane GUI w Javie i chciałbym wyświetlić wyniki z programu *.exe w napisanym GUI w Javie.
Jak to zrobić?
Witam.
Mam problem pod tytułem: mam program napisany w C++ i przeriobiony na exe. Wszystko działa i cacy.
Teraz mam napisane GUI w Javie i chciałbym wyświetlić wyniki z programu *.exe w napisanym GUI w Javie.
Jak to zrobić?
Program w C++ przerobiony na .exe
RLY?
Jeśli exek wypluwa stosunkowo mało danych (max parę mega, co by się z łatwością w pamięci zmieściło) to polecam użyć np Apache Commons IO i klaski IOUtils ( http://commons.apache.org/proper/commons-io/javadocs/api-2.4/org/apache/commons/io/IOUtils.html ) - ma sporo przydatnych metod. Choć w sumie być może niektóre metody nadawałyby się do obrabiania dużych ilości danych, o ile nie ładują całego wyjścia na raz.
Przerobiony? To niby pierwotna postać jaka jest?
Kod źródłowy? a potem kod źródłowy przeruchany preprocesorem? a potem pliki obiektów?
a potem dopiero na szarym końcu linker złączy je w bibliotekę albo plik wykonywalny? Co w przypadku windowsa oznacza pliki PE... czyli .exe
C++ != exe
Odpowiadając w temacie.
String[] cmd = {"sciezka/do/programu.exe", "arg1", "arg2"};
Process p = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while((line = br.readLine())!=null) {
System.out.println(line);
}
Ponieważ proces ma jeszcze stderr (Process.getErrorStream()), proponuję go odpalić w osobnym wątku.