Hallo zusammen
Ich drehe mich im Kreis. Ich komme nicht mehr weiter. Ich bin auf eure Hilfe angewiesen. Ich möchte aus einem Java Programm heraus ein Programmstarten. Das geht ja auch ohne Probleme. Nur verlant das Programm an einer bestimmten Stelle die eingabe des Passwortes. Genau dort ist das Problem. Aus dem Inputstream wird eine Zeitlang gelesen und vor der Aufforderung das Passwort einzugeben steht das ganze still. Ich weiss nicht mehr was ich noch machen kann.
Hat jemand ein Beispiel wo so was änliches gemacht wird. Oder weiss jemand wo es so ein Beispiel hat.
Gruss Renato
Ich drehe mich im Kreis. Ich komme nicht mehr weiter. Ich bin auf eure Hilfe angewiesen. Ich möchte aus einem Java Programm heraus ein Programmstarten. Das geht ja auch ohne Probleme. Nur verlant das Programm an einer bestimmten Stelle die eingabe des Passwortes. Genau dort ist das Problem. Aus dem Inputstream wird eine Zeitlang gelesen und vor der Aufforderung das Passwort einzugeben steht das ganze still. Ich weiss nicht mehr was ich noch machen kann.
Code:
public static void main(String[] args) { // TODO code application logic here if(args.length > 1) { String dat_name = args[0];//Dateiname der Konfiguration String pwd = args[1]; String start, parameter;//Aufrufparameter für RDA try { InputStream dataInput = new BufferedInputStream(new FileInputStream(dat_name)); Scanner befehl = new Scanner(dataInput); while(befehl.hasNext()){ start = befehl.nextLine(); parameter = befehl.nextLine(); System.out.println("Startet > " + start); Process prozess = new ProcessBuilder( "perl.exe", start, parameter ).start(); Scanner lesen = new Scanner(prozess.getInputStream()); String text; while(lesen.hasNextLine()) {// if(lesen.hasNextLine()){//*** Hier bleibt das ganze stehen Warum ****** text = lesen.nextLine(); System.out.println(text); }else { byte pass[]; pass = pwd.getBytes(); System.out.println("Eingabe < " + pass); prozess.getOutputStream().write(pass); } } Scanner fehler = new Scanner(prozess.getErrorStream()); while(fehler.hasNext()) { System.out.println(fehler.nextLine()); } } dataInput.close();//Datei wieder schliessen }catch(Exception e) { e.printStackTrace(); System.out.println("Datei kann nicht geöffnet werden"); } }else { System.out.println("ERR Fehlende oder falsche Startparameter."); System.out.println("Programm wird wie folgt gestartet"); System.out.println(">java start_rda konfigurationsdatei passwort für SYSTEM"); } }
Gruss Renato
Comment