Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Fehlermeldung bei Befehlen eines Buttons in Verbindung mit cmd.exe

Frage Entwicklung Java

Mitglied: basti92

basti92 (Level 1) - Jetzt verbinden

29.01.2010 um 09:41 Uhr, 4810 Aufrufe, 4 Kommentare

Hallo Leute,
hab ein Problem mit nem Java-Code.
Fall: Ich will ein kleines Fensterprogramm mit Buttons (Grundcode vorhanden und läuft), nur wenn ich den Buttons den Befehl gebe eine cmd.exe zu öffnen, einen Befehl auszuführen und eine Ausgabe in dem Fenster (Textfeld im Fenster) zu machen, zeigt er einen Fehler, der ohne die Buttonzuweisung nicht kommt.

public static void main(String[] args) throws Exception{
ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "ipconfig", "/all");
Process process = processBuilder.start();

Scanner scanner = new Scanner(process.getInputStream());
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}

scanner.close();
System.out.println(process.waitFor());

}

Also der Code greift zu auf cmd.exe und führt den Befehl "ipconfig /all" aus.
Diesen Code möchte einen Button zuweisen, also das wenn ich auf den Button klicke das er das macht.

ip.addActionListener(new ActionListener() {

@override
public void actionPerformed(ActionEvent arg0) {

ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "ipconfig", "/all");
Process process = processBuilder.start();
Scanner scanner = new Scanner(process.getInputStream());
while(scanner.hasNextLine()){
lm.addElement(scanner.nextLine());

}
scanner.close();
}});

Das einzigste wo er einen Fehler hat ist bei processBuilder.start() des untergringelt er und sagt:

Unhandled exception type IOException.

Könnt ihr mir sagen warum der den Fehler schmeißt bzw. wie ich den rausbekomm sodass es läuft? Wenn ihr den gesamten Code braucht bitte melden.

Vielen dank im Vorraus

Gruß

Basti
Mitglied: 76109
29.01.2010 um 10:27 Uhr
Hallo basti92!

Java gehört nicht zu meinem Fachgebiet, aber die CmdLine sollte sicherlich nur aus einem String bestehen:
...ProcessBuilder("cmd.exe /c ipconfig /all");

Gruß Dieter
Bitte warten ..
Mitglied: basti92
29.01.2010 um 10:34 Uhr
Hallo Dieter,

hab ich mir auch gedacht, habe einen Kollegen von mir gefragt und der hat gemeint das man das öfters so macht um Leerzeichen (wegen Befehlen) und wegen Leerzeichen(im Namen) unterscheiden kann.

Danke für deine Antwort. Aber es funktionier auch ohne den Einzelteilen nicht.
Bitte warten ..
Mitglied: Biber
29.01.2010 um 10:41 Uhr
Moin basti92, moin didi1954,

Zitat von 76109:
Java gehört nicht zu meinem Fachgebiet, aber die CmdLine sollte sicherlich nur aus einem String bestehen:
...ProcessBuilder("cmd.exe ipconfig /all");

Nein, das würde schon passen, weil ProcessBuilder zwei mögliche Constructors hat; einen für eine "Aufrufstring", einen für eine "Aufruf-Liste von Argumenten".

// ist also so definiert: 
public ProcessBuilder(List command) 
public ProcessBuilder(String... command)
Ich würde allerdings bei einem "IPConfig /all"-Aufruf auch die String-Constructor-Variante nehmen.*gg

Eine IOException sollte eigentlich nur geworfen werden, wenn
  • die Rechte fehlen
  • "richtige" IO-Probleme auftreten (Sektor verstrahlt)
  • oder die Umgebung bzw. die aufzurufende Datei nicht gefinden wird.

Ich tippe auf Letzteres.
@basti92
Warum gehst du über so viele Ästlein und Zweiglein und rufst die "ipconfig.exe" über die "cmd.exe"?? Warum nicht direkt?
Falls es irgendeinen ästhetischen Hintergrund haben sollte oder einfach mehr Kohle bringt oder so bleiben soll:
- dann mal probeweise den Pfad der CMD.exe explizit mit angeben ("C:\\Windows\\cmd.exe" oder so reicht zum Testen)

Grüße
Biber
Bitte warten ..
Mitglied: Marco123
29.01.2010 um 18:53 Uhr
Hilft dir die Klasse "Runtime" dabei ?

Runtime rt=Runtime.getRuntime();
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
Fehlermeldung bei RDP Verbindung über WLan oder LTE (4)

Frage von D.Jelitto zum Thema Windows Netzwerk ...

Microsoft Office
Button für Wechseln zwischen den Tabellenblättern (6)

Frage von lupi1989 zum Thema Microsoft Office ...

Google Android
gelöst Samsung S8+: Bixby-Button (1)

Frage von honeybee zum Thema Google Android ...

XML
gelöst Kein automatisches Backup über Button VBA (2)

Frage von Knuefi zum Thema XML ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (13)

Frage von ZeroCool23 zum Thema Windows 10 ...

Router & Routing
gelöst Getrenntes Routing bei VoIP und Daten (12)

Frage von Hobbystern zum Thema Router & Routing ...