Probleme mit Runtime.exec()

Vogi

Aktives Mitglied
Hallo,

ich muss in einem Programm, das ich screibe, ab und zu Abfragen über die Konsole machen (wie zum Beispiel den Inhalt eines Verzeichnisses anzeigen mit dir) .

Nun funktioniert das auch ohne Probleme, wenn ich das ganze so mache:

Java:
Process p = cmd.exec("cmd /c \"" + "dir" +"\"" );
				p.waitFor();
				BufferedReader r = new BufferedReader(new  InputStreamReader(p.getInputStream()));
				for(;;){
					String a = r.readLine();
					if(a == null){ //Stream vollständig gelesen
						break;
					}
					rückgabe += a;
					rückgabe += "\n";
				}
				r.close();

Im String rückgabe wird so der Inhalt des Verzeichnisses gespiehcert. Nun möchte ich aber auch den Inhalt anderer Verzeichnisse ausgeben können, wie zum Besipiel mit "dir C:\" den Inhalt des Verzeichnisses C:. Wenn ich in obigen Programm anstatt "dir" aber "dir C:\" oder auch "dir C:\\" schreibe, dann funktioniert es nicht mehr und ich bekomme einen leeren String rückgabe.

Was mache ich da falsch? Kann mir da irgendeiner helfen?
 
das müsste da nicht hin, da mein Programm aber darauf warten soll, bis der Prozesss abgeschlossen ist, steht es dort. (ich will nicht nur so einfache Sachen wie dir machen, ich will auch Programme ausführen, etc.)
 

Neue Themen


Zurück
Oben