Salve,
sto provando ad eseguire un eseguibile dos, ma non riesco ad ottenere l'output.
Il problema penso sia dovuto al fatto che questo programma, un client vpn, prima di connettersi chiede un messaggio di conferma del tipo "vuoi connetterti? (y/n)", ed io non immetto nulla da Java e quindi magari resta in ascolto senza rilasciare mai l'output.
Volendo però procedere per gradi, a prescindere dal problema del rispondere al messaggio di conferma, vorrei che almeno mi desse l'output, sino a tale messaggio, invece non mi da niente e non si ferma mai.
Se invece provo a dare il comando con dei parametri sbagliati, ad esempio la password, allora ricevo l'output di errore.
Ecco la classe:
Ecco l'output che dovrebbe produrre:Codice PHP:import java.io.*;
public class Exec {
public static void main(String[] args) {
try {
String cmd = "C:\\Programmi\\Cisco Systems\\VPN Client\\vpnclient.exe connect pwd myPassword MyVPNServer";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
// any output?
StreamGobbler outputGobbler = new StreamGobbler(proc
.getInputStream());
// kick them off
outputGobbler.start();
int exitVal = proc.waitFor();
System.out.println("ExitValue: " + exitVal); // 0 = no error
} catch (Exception e) {
e.printStackTrace();
}
}
}
class StreamGobbler extends Thread {
InputStream is;
StreamGobbler(InputStream is) {
this.is = is;
}
public void run() {
try {
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
}
************************************
Cisco Systems VPN Client Version 5.0.05.0290
Copyright (C) 1998-2009 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Windows, WinNT
Running on: 5.1.2600 Service Pack 3
Config file directory: C:\Programmi\Cisco Systems\VPN Client\
Initializing the VPN connection.
Contacting the gateway at xx.xx.xxx.xx
Authenticating user.
Negotiating security policies.
Securing communication channel.
Siete connessi alla rete xxx solo uso xxxxxx
Ogni abuso sara' punito a norma di legge
Do you wish to continue? (y/n):
Your VPN connection is secure.
************************************

Rispondi quotando