CMD Rückgabe durchlesen

REC

Bekanntes Mitglied
Ich habe hier ein Code gefunden welcher mir über die CMD die ganze IP Konfig ausliest und unten in die Eclipse Konsole schreibt. So weit so gut.

Nun würde ich aber gerne nur gewissw Zeilen aus lesen, wie zBeispiel "Physikalische Adresse" etc... und dann diese Daten extern in eine File speichern.

Kann mir jemand Tipps geben? Ich denke ich muss das irgendwie Zeile für Zeile durchgehen und irgendwie Delimeter benutzen. Kann mir da jemand Ansätze geben?

Hier der Code:
Java:
public class CMDLesen {
	
	  public static void main( String[] args ) throws IOException
	  {
	    ProcessBuilder builder = new ProcessBuilder( "cmd", "/c", "ipconfig/all"   );
	    builder.directory( new File("c:/Temp") );
	    Process p = builder.start();
	    Scanner s = new Scanner( p.getInputStream() ).useDelimiter( "\\Z" );

	    System.out.println( s.next() );
	  }
	}
 
K

Kondensator

Gast
Vielleicht,
Java:
String zeile = p.getInputStream().useDelimiter( "\\Z" );

statt

Java:
Scanner s = new Scanner( p.getInputStream() ).useDelimiter( "\\Z" );
 

irgendjemand

Top Contributor
[japi]NetworkInterface[/japi] ist für sowas zuständig ... da brauchst du dir nichts über ein terminal zusammenkleben ... kann java alles selbst
 

REC

Bekanntes Mitglied
Ich habe mich eigentlich gestern mit dem NetworkInterface beschäftigt.

Aber ich habe im Web echt nichts gefunden wie ich DHCP, IPv6, Subnetzmaske,Standartgateway über NetworkInterface auslesen kann? Ich glaube das geht nicht.


Eigentlich hätte ich gehofft das mir jemand ein bisschen was über die Delimeter sagen kann. Da ich eigentlich Java Anfänger bin, da nützt es mir nunmal nicht viel wenn man nur Stichwortartig antwortet. Inwiefern hilft mir Contain um aus der CMD exakt das auszulesen was ich brauche?
 
Zuletzt bearbeitet:

REC

Bekanntes Mitglied
Habe diesen Code gfunden. Aber wie gesagt, die Infos die ich brauche finde ich hier nicht. Also wenn ich eben die Methoden in Eclipse weiteranschaue. Auch hier habe ich eine Ausgabe und müsste mit das alles zusammenkleben. Nun ist doch die Frage was einfach ist?

Java:
public class MacAddress {
	int n = 0;

	public void Network() throws SocketException {

		Enumeration<NetworkInterface> netInter = NetworkInterface
				.getNetworkInterfaces();
		
		while (netInter.hasMoreElements()) {
			NetworkInterface ni = netInter.nextElement();

			System.out.println("NetworkInterface " + n++ + ": "
					+ ni.getDisplayName());

			for (InetAddress iaddress : Collections.list(ni.getInetAddresses())) {
				System.out.println("CanonicalHostName: "
						+ iaddress.getCanonicalHostName());

				System.out.println("IP: " + iaddress.getHostAddress());

				
				

				System.out.println("Loopback? " + iaddress.isLoopbackAddress());
				System.out.println("SiteLocal? "
						+ iaddress.isSiteLocalAddress());
				System.out.println();
			}
		}
	}
	
	public static void main(String[] args) throws SocketException{
		
		MacAddress m = new MacAddress();
		m.Network();
	}
}
 

irgendjemand

Top Contributor
um ganz erlich zu sein : java ist für solche sachen einfach die falsche sprache ... da sowas nunmal nicht system-unabhängig lösbar ist ...
vielleicht hilft dir JNA weiter ... bin mir sicher das es system-libs gibt die man laden kann um solche infos rauszubekommen ... aber n terminal-output zu parsen ist eher schlecht ...
 

REC

Bekanntes Mitglied
Naja es ist eben ein Schulprojekt. Man muss Java verwenden.

Ok dann schaue ich mal JNA an. Aber ich habe kein Plan was System_libs sind und wie man die benutzt :)
 

irgendjemand

Top Contributor
OUCH ... und dann bist du freiwillig in den info-kurs gegangen in dem du programmieren/java lernen willst/sollst wenn du nicht mal weist was eine system-lib ist ? hmm ... na dann mal hals- und bein-bruch ... das kann lustig werden

englisch : Library (computing) - Wikipedia, the free encyclopedia
deutsch : Programmbibliothek ? Wikipedia
*wobei ich dir die englische variante empfehlen würde*

zu JNI/JNA

JNI : JavaNativeInterface -> ist ne schnittstelle um selbstgeschriebene libs anzubinden -> google
JNA : JavaNativeAccess -> ist ne schnittstelle um bereits vorhandene , externe unabhängige libs *wie eben auch z.b. system-libs* zu laden und zu verwenden -> google

*anmerkung : in den tiefen der VM wird JNI auch teilweise auf JNA abgebildet ... hier jedoch nur in soweit das aus vorhandenen informationen gewissen namens-konventionen gebildet und eingehalten werden ... was bei völlig "fremden" libs meist ziemlich schwer ist wann man die lib nicht kennt oder diese nicht dokumentiert ist ...
 

REC

Bekanntes Mitglied
Ja meinst du mit diesen System-libs die ganzen Importanweisungen? Das kenn ich schon. Naja ansonsten ging das Programmieren bis jetzt ganz gut.

Aber aus diesem JNA werde ich nicht schlau... Das werde ich so nie zustande bringen. Im Web findet man echt nichts schlaues zu Java mit Netzwerkkomponenten. Unglaublich das dies heute noch so ist.
 

turtle

Top Contributor
Die Methode useDelimiter() der Klasse Scanner setzt den Separator, der für die Aufteilung der Eingabe zu verwendet wird.

Wählt man das Datei-Ende ("\\Z") als Separator, wird die "Datei" mit einem next()-Aufruf vollständig gelesen.

Möchtest Du gewisse Werte aus der Ausgabe des Kommandos auslesen, musst Du die Eingabe parsen, also den String nach den Angaben suchen, die Dich interessieren.

Zeile für Zeile durchgehen
Java:
		String next = scanner.next(); 
		StringReader reader = new StringReader(next);
		BufferedReader lineReader = new BufferedReader(reader);
		String sLine = null;
		do {
			sLine = lineReader.readLine();
			if (sLine != null)
				System.out.println(sLine);
		} while (sLine != null);
 

irgendjemand

Top Contributor
Ja meinst du mit diesen System-libs die ganzen Importanweisungen? Das kenn ich schon. Naja ansonsten ging das Programmieren bis jetzt ganz gut

sag mal ... hast du dir eigentlich mal die beiden links durchgelesen ?

ich meine keine import-anweisungen für irgendwelche java klassen ... sondern SYSTEM-LIBs ... unter windows DLL .. unter unix SO ...
 

REC

Bekanntes Mitglied
Danke Turtle für deine Antwort. Genau sowas habe ich gesucht.

Also die einfachste Methode um die Hardware auszulesen ist mit JACOB 1.7 die greift auf die Win32 zu und so kann man alle Daten auslesen.
Die Links habe mir nicht geholfen
 

ESCS

Mitglied
Ich denke, dass solange es sich nur um ein Schulprojekt handelt und du den Code spezifisch für eine Plattform entwickelst kannst du getrost den Output vom ProcessBuilder parsen - elegant ist das natürlich nicht.
Falls dich eine elegantere Methode interessiert solltest du dich - wie irgendjemand schon vorgeschlagen hat - über JNA informieren; damit kannst du alle Systemfunktionen (wie auch das Abfragen von Informationen der Netzwerkschnittstellen) benutzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
G Endlosschleife keine Rückgabe Java Basics - Anfänger-Themen 36
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
H Methode mit Array als Rückgabe This method must return a result of Type int[] Java Basics - Anfänger-Themen 2
Z Rückgabe eines Values in umgekehrte richtung Java Basics - Anfänger-Themen 5
M Rückgabe eines Arrays Java Basics - Anfänger-Themen 10
R Methode Rückgabe Java Basics - Anfänger-Themen 10
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
J Rückgabe-Problem Java Basics - Anfänger-Themen 10
B Rückgabe von zwei Werten: String und double Java Basics - Anfänger-Themen 14
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
J Funktionen auf der Rückgabe eines Stacks (pop) Java Basics - Anfänger-Themen 6
karlmasutra Klassen Rückgabe eines Wertes aus einer anderen Klasse Java Basics - Anfänger-Themen 3
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
L [Verständnisproblem] Array wird trotz void rückgabe verändert. Java Basics - Anfänger-Themen 5
S Rekursion Rückgabe - Türme von Hanoi Java Basics - Anfänger-Themen 16
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
L Probleme bei Rückgabe eines Arrays in einer Methode Java Basics - Anfänger-Themen 47
L Frage zur Rückgabe von Werten bei Methoden Java Basics - Anfänger-Themen 4
P Rückgabe erflogt nicht als Double Java Basics - Anfänger-Themen 2
D Methoden ArrayList Rückgabe bringt komische Werte Java Basics - Anfänger-Themen 12
M Übergabe / Rückgabe Java Basics - Anfänger-Themen 6
A Rückgabe in for-Schleife Java Basics - Anfänger-Themen 2
I Rückgabe und Aufruf einer Methode innerhalb einer anderen Methode Java Basics - Anfänger-Themen 5
S Rückgabe-Array lässt sich nicht auslesen, LocalDate mit String Java Basics - Anfänger-Themen 3
G Methoden mehrdimonsionale Arrays als Rückgabe Java Basics - Anfänger-Themen 2
S Methode rückgabe wiederverwenden Java Basics - Anfänger-Themen 4
J Rückgabe als Wert, keine Referenz Java Basics - Anfänger-Themen 3
llabusch Methoden Rückgabe einer Methode verwerden Java Basics - Anfänger-Themen 1
S Methoden void-Methode: Wieso gibt es eine Rückgabe? Java Basics - Anfänger-Themen 5
R public static void Rückgabe Java Basics - Anfänger-Themen 5
H Array wird verändert ohne Rückgabe? Java Basics - Anfänger-Themen 7
S Rückgabe von einem Array Java Basics - Anfänger-Themen 7
S Problem mit Rückgabe Wert von Methoden Java Basics - Anfänger-Themen 5
M Serialize - Fehler bei Rückgabe von Objekt Java Basics - Anfänger-Themen 5
W Rückgabe Methode mit Feld Java Basics - Anfänger-Themen 4
A Rekursion in Baum und ArrayList als Rückgabe Java Basics - Anfänger-Themen 2
N Rückgabe der Werte funktioniert nicht Java Basics - Anfänger-Themen 9
F Problem bei Rückgabe von StringBuffer aus Methode Java Basics - Anfänger-Themen 6
N HashMap fehlerhafte Rückgabe Java Basics - Anfänger-Themen 7
K Problem mit der Rückgabe Java Basics - Anfänger-Themen 3
R Rückgabe Array Java Basics - Anfänger-Themen 22
G Klasse überschreiben wenn Rückgabe über Methode Java Basics - Anfänger-Themen 6
M Methode mit Rückgabe Java Basics - Anfänger-Themen 2
D Maximum Subarray Problem; Problem mit der Rückgabe Java Basics - Anfänger-Themen 10
N Methoden und deren Rückgabe Java Basics - Anfänger-Themen 4
D Rückgabe einer Klasse Java Basics - Anfänger-Themen 20
H TreeMap Rückgabe - Compiler-Warnings Java Basics - Anfänger-Themen 9
M Rückgabe bei Exception Java Basics - Anfänger-Themen 4
H Rekursion und Rückgabe Java Basics - Anfänger-Themen 11
K Rückgabe aus Formular Java Basics - Anfänger-Themen 3
S HashMap: Rückgabe des key zu bestimmten value Java Basics - Anfänger-Themen 3
B "vollständige" Resultat Rückgabe Java Basics - Anfänger-Themen 8
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
A Beschreibung von Code und Rückgabe von Anzahl in ArrayList Java Basics - Anfänger-Themen 5
C Parameter rückgabe nach Prüfung an Klasse/Methode Java Basics - Anfänger-Themen 2
R Rückgabe vom ActionListener Java Basics - Anfänger-Themen 12
B JavaFilter true rückgabe Java Basics - Anfänger-Themen 23
S Rückgabe eines eingelesenen 2D Arrays aus Klasse heraus Java Basics - Anfänger-Themen 3
J datentyp -objectTyp Rückgabe Java Basics - Anfänger-Themen 2
zilti PHP-Script aufrufen und Rückgabe lesen Java Basics - Anfänger-Themen 2
G Array Rückgabe aus Programm Java Basics - Anfänger-Themen 6
0 Probleme bei Threads mit Rückgabe. Java Basics - Anfänger-Themen 6
C Rückgabe bei methoden Java Basics - Anfänger-Themen 2
S Probleme mit InputStream- Rückgabe Java Basics - Anfänger-Themen 4
G Warum ist die Rückgabe kein Integer? Java Basics - Anfänger-Themen 5
G Rückgabe Java Basics - Anfänger-Themen 6
G Rückgabe mehrdimensionales Array Java Basics - Anfänger-Themen 3
G Rückgabe einer Kopie bzw. Referenz Java Basics - Anfänger-Themen 22
G Rückgabe einer Methoden bei Schließen des Fensters Java Basics - Anfänger-Themen 3
M Rückgabe funktioniert nicht! Java Basics - Anfänger-Themen 4
F Rückgabe eines Array´s aus einer Methode Java Basics - Anfänger-Themen 3
M Rückgabe oder Parameter? Java Basics - Anfänger-Themen 5
H Konstruktor mit Rückgabe Java Basics - Anfänger-Themen 13
L Rückgabe Java Basics - Anfänger-Themen 4
D Rückgabe von Arrays Java Basics - Anfänger-Themen 6
I Ordner schnell durchlesen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben