Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142

    leggere output eseguibile c++

    Ciao a tutti

    vorrei suggerimenti su come riuscire a fare la seguente cosa: dall'interno di un programma java lancio un eseguibile c++. Se lo eseguissi da riga di comando esso stamperebbe sulla shell una stringa. Come posso leggere questa stringa dall'interno dello stesso programma java che lo lancia?

    Grazie, ciao!
    <esistono cose che non esistono>

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    come lanci il comando? Dovresti avere la possibilità di decidere dove fare il redirect dello stdout e dello stderr
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: leggere output eseguibile c++

    Originariamente inviato da Pete
    vorrei suggerimenti su come riuscire a fare la seguente cosa: dall'interno di un programma java lancio un eseguibile c++.
    Che tu avvii il processo tramite un exec() di Runtime o tramite (da Java 5) ProcessBuilder ... alla fine ottieni un Process, che ha getInputStream() per leggere dallo standard-output del processo lanciato.
    Chiaramente se sono "righe" di testo che devi leggere, non basta e non è utile solo un InputStream.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142

    Re: Re: leggere output eseguibile c++

    Originariamente inviato da andbin
    Chiaramente se sono "righe" di testo che devi leggere, non basta e non è utile solo un InputStream.
    Potresti spiegarti meglio? Il processo in questione scrive una serie di caratteri sulla console, ed io vorrei poterli leggere
    <esistono cose che non esistono>

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Re: Re: leggere output eseguibile c++

    Originariamente inviato da Pete
    Potresti spiegarti meglio? Il processo in questione scrive una serie di caratteri sulla console, ed io vorrei poterli leggere
    Process ha un getInputStream() che fornisce un InputStream per leggere quello che il processo lanciato scrive sul suo "standard output".
    Ma InputStream è "orientato" ai byte .... non ai caratteri (tanto meno alle "righe" di testo).
    Quindi dovresti incapsularlo in un InputStreamReader (e già così potresti leggere "a caratteri") e se vuoi leggere "a righe", quest'ultimo lo incapsuli a sua volta in un BufferedReader che ha il readLine().
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    142
    Perfetto è ciò che mi serve, grazie!
    <esistono cose che non esistono>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.