WinFuture-Forum.de: System Befehl in Java - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

System Befehl in Java


#1 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 25. August 2011 - 18:48

Hallo zusammen,
in C++ gibt es den Befehl System(). Mit diesem kann man alle Befehle ausführen, die auch in der Eingabeaufforderung von Windows funktionieren.
Gibt es diesen Befehl auch in Java? Bei google, etc. habe ich leider nichts gefunden was mir geholfen hat.

Danke und viele Grüße,
smite
Eingefügtes BildEingefügtes Bild
0

Anzeige



#2 Mitglied ist offline   Mr. Floppy 

  • Gruppe: VIP Mitglieder
  • Beiträge: 4.126
  • Beigetreten: 01. Juli 08
  • Reputation: 271
  • Geschlecht:Männlich

geschrieben 25. August 2011 - 20:09

Was Du suchst, nennt sich sinnigerweise system call. Guck Dir mal die Klasse java.lang.Runtime an. Bei exec solltest Du fündig werden.

EDIT:
Damit die Befehle aus der Eingabeaufforderung funktionieren (z.B. dir), muß man den Interpreter mit starten, also:
cmd /c <BEFEHL>

Dieser Beitrag wurde von Mr. Floppy bearbeitet: 25. August 2011 - 20:21

1

#3 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 25. August 2011 - 23:06

Danke für deine Antwort. Das hat mir geholfen. Mein Fehler bestand darin, dass ich die Console nicht mit aufgerufen hatte.
Aber jetzt stehe ich vor einem weiteren Problem.
Ich möchte ein Java Programm schreiben um E-Mails per telnet zu versenden.
Wenn ich die Telnet-Befehle von Hand in der Console ausführe funktioniert auch alles, wenn ich diese jedoch in mein Java-Programm einbinde, passiert nichts :(

Ich vermute, dies liegt daran, dass ich bei jedem Aufruf des Befehls eine neue Telnet Sitzung öffne.

		try
			  {
			   Runtime rt = Runtime.getRuntime();
			   rt.exec("telnet telnet smtp.meinedomain.de 25 ");
			  }
			  catch(Exception e)
			  {
			   System.out.println("exception1");
			  }
		   
		try
			{
			   Runtime rt = Runtime.getRuntime();
			   rt.exec("telnet ehlo meinedomain.de");
			  }
			  catch(Exception e)
			  {
			   System.out.println("exception2");
			  }
			   
		try
			  {
			   Runtime rt = Runtime.getRuntime();
			   rt.exec("telnet auth login");
			  }
			  catch(Exception e)
			  {
			   System.out.println("exception3");

//usw....
			  }


Ich bin ein totaler Java Neuling und mir ist klar, dass es hierbei bessere Lösungen gibt.

Danke schon einmal für deine/eure Hilfe.

Viele Grüße,
smite
Eingefügtes BildEingefügtes Bild
0

#4 Mitglied ist offline   Mr. Floppy 

  • Gruppe: VIP Mitglieder
  • Beiträge: 4.126
  • Beigetreten: 01. Juli 08
  • Reputation: 271
  • Geschlecht:Männlich

geschrieben 26. August 2011 - 12:21

...und ich hab das meiste schon wieder vergessen.

Zitat

Ich vermute, dies liegt daran, dass ich bei jedem Aufruf des Befehls eine neue Telnet Sitzung öffne.
Das vermute ich auch. Kann man das Runtime-Objekt nicht mehrfach benutzen? Wenn man telnet aufruft, startet doch eine interaktive Shell. Man müßte die Befehle also in diese Shell "eingeben" und nicht jedes Mal eine neue, unabhängige telnet-Instanz mit anderen Parametern aufrufen.

EDIT:
Ich denke mal, daß es an der Interaktivität scheitern wird. Wenn telnet keinen Batch-/Skriptmodus besitzt, weiß ich auch nicht mehr weiter :blush:

Dieser Beitrag wurde von Mr. Floppy bearbeitet: 26. August 2011 - 12:28

0

#5 Mitglied ist offline   smite 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.199
  • Beigetreten: 08. Januar 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:127.0.0.1

geschrieben 27. August 2011 - 20:00

Danke für deine Hilfe, dann werde ich mal weiter googeln. Falls ich was gefunden habe, poste ich es aber hier :-).

Gruß smite
Eingefügtes BildEingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0