Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Passaggio file da aprire a programma .exe [JAVA]

    Ciao ragazzi,
    in una mia applicazione Java avrei bisogno di richiamare un programma da un file .exe (readHH.exe).
    Con tale programma avrei necessità di aprire un ben determinato file (mettiamo che il suo percorso sia "C:/Users/Utente/Desktop/history.dat"), dalla cui elaborazione che questo programma richiamato fa automaticamente, dovrei ricavarne un altro file di output in excel, da elaborare (ovvero leggere per righe e per colonne).


    Con questo codice riesco ad aprire il programma associato al file .exe:

    codice:
    public class exeFile {
    	
    	public static void main(String[] args){
    		try{
    			Runtime rt=Runtime.getRuntime();
    			Process proc=rt.exec("C:/Users/Utente/Desktop/readHH.exe");
    		}catch(Exception e){
    			System.out.println("Problemi con esecuzione file");
    		}
    	}
    
    }
    Come posso modificarlo per dire che questo programma deve aprire il file history.dat (il cui percorso l'ho scritto prima) e come posso salvare e"catturare" il file di output?
    Grazie mille

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

    Re: Passaggio file da aprire a programma .exe [JAVA]

    Originariamente inviato da alexius87
    Con tale programma avrei necessità di aprire un ben determinato file (mettiamo che il suo percorso sia "C:/Users/Utente/Desktop/history.dat")

    codice:
    			Process proc=rt.exec("C:/Users/Utente/Desktop/readHH.exe");
    Come posso modificarlo per dire che questo programma deve aprire il file history.dat (il cui percorso l'ho scritto prima)
    Ci sono svariate versioni di exec. O passi il comando unico "xyz.exe param1 .....altro eventuale...." oppure usi uno degli altri exec.

    Originariamente inviato da alexius87
    e come posso salvare e"catturare" il file di output?
    Dipende cosa fa quel eseguibile, cioè dove scrive qualunque risultato.
    Gli stream di standard input/output/error del processo lanciato sono "rediretti" verso la applicazione Java. Ottieni questi stream dal Process.
    Se sai che il processo scrive su standard-output, leggi dal InputStream fornito dal Process. Devi chiaramente sapere che cosa ti aspetti, se file di testo o binario e cosa.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Potresti o potreste farmi un esempio, per piacere?

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.