Aus mehreren Zeilen bestimmte Teile auslesen

Status
Nicht offen für weitere Antworten.

Vril

Bekanntes Mitglied
Hallo,

ich versuche gerade ein kleines Programm zu schreiben das einen Pingtest durchführt. So schaut das ganze momentan aus und funktioniert auch schon ganz gut:
Code:
import java.io.*;

public class Pingtest{
	
	public static void main(String[] args){
	
	 try{
	  
	  for(int i=0; 10>i; i++){
	 
	  Process proc = Runtime.getRuntime().exec("ping heise.de");
	  
	  
      BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
      String strLine = ""; 
      
      
      while ( ( strLine = in.readLine() ) != null) 
      { 
           System.out.println(strLine); 
      }} }catch (IOException e){System.err.println(e);}

}}
Der Pingtest beinhaltet ja ca. 9 Zeilen. Jetzt würde ich aus diesen Zeilen jeweils die Zahl bei Verloren (Anzahl der Verlorenen Pakete) und die Zahl bei Mittelwert herauslesen um sie später z. B. einer Statistik zurechnen zu können!

Hat zufällig jemand eine Idee wie das funktionieren könnte?
 

The_S

Top Contributor
Speichere halt zusätzlich die Ausgabe z. B. in nem StringBuffer (oder ab 1.5 StringBuilder) und teile es dann mit split oder so auf (sollten ja alle das selbe Format haben). Dann noch alle benötigten Zahlen schön in nen Integer parsen und scho kannste nach herzenslust rechnen :wink:
 

Bleiglanz

Gesperrter Benutzer
mach mal lieber

ping -c <anzahl> heise.de

damit der Prozess auch aufhört, dann findest du alles in der letzen zeile

<anzahl> packets transmitted, <anzahl> received, <prozent>% packet loss, time 10999ms

und lässt einen regex drauf los
 

Vril

Bekanntes Mitglied
Code:
import java.io.*;

public class Pingtest{
	public static int j;
	public static void main(String[] args){
	
	 try{
	  
	  for(int i=0; 1>i; i++){
	 
	  Process proc = Runtime.getRuntime().exec("ping heise.de");
	  
	  
      BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
      String strLine = ""; 
      
      BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
      	new FileOutputStream("messung.txt")));
      
      while ( ( strLine = in.readLine() ) != null) {
      
     	   
     	   
      
           System.out.println(strLine); 
           out.write(strLine);
     
     } in.close(); out.close();
    } 
   }
   catch (IOException e){System.err.println(e);}

  }
}
 

MPW

Top Contributor
Bleiglanz hat gesagt.:
mach mal lieber

ping -c <anzahl> heise.de

damit der Prozess auch aufhört, dann findest du alles in der letzen zeile

<anzahl> packets transmitted, <anzahl> received, <prozent>% packet loss, time 10999ms

und lässt einen regex drauf los

?? schonmal daran gedacht, das die meisten Leute Windows haben, da heißt die Funktion -s und man kann nur 1-4 angeben, man müsste also vorher das System abfragen...
 

byte

Top Contributor
nö, die option unter windows ist -n und die ist auch nicht durch 1-4 beschränkt.
 

MPW

Top Contributor
ops..sorry hab' mich vertan mit dem Zeiteintrag, was auch immer das ist:

Syntax: ping [-t] [-a] [-n Anzahl] [-l Größe] [-f] [-i Gültigkeitsdauer]
[-v Diensttyp] [-r Anzahl] [-s Anzahl] [[-j Hostliste] |
[-k Hostliste]] [-w Zeitlimit] Zielname

Optionen:
-t Sendet fortlaufend Ping-Signale zum angegebenen Host.
Geben Sie STRG-UNTRBR ein, um die Statistik anzuzeigen.
Geben Sie STRG-C ein, um den Vorgang abzubrechen.
-a Löst Adressen in Hostnamen auf.
-n n Anzahl Anzahl zu sendender Echoanforderungen
-l Länge Pufferlänge senden
-f Setzt Flag für "Don't Fragment".
-i TTL Gültigkeitsdauer (Time To Live)
-v TOS Diensttyp (Type Of Service)
-r Anzahl Route für Anzahl der Abschnitte aufzeichnen
-s Anzahl Zeiteintrag für Anzahl Abschnitte
-j Hostliste "Loose Source Route" gemäß Hostliste
-k Hostliste "Strict Source Route" gemäß Hostliste
-w Zeitlimit Zeitlimit in Millisekunden für eine Rückmeldung
 

Vril

Bekanntes Mitglied
Ok, wenn ich also ping heise.de -n 10 schreibe führt er mir das ganze 10 mal aus. Aber hinsichtlich dem Zeitstempel bin ich leider immer noch nicht weitergekommen. Es wäre nicht schlecht wenn bei jedem Ping auch die genaue Zeit/Datum dabei stehen würde wann der Ping ausgeführt wurde.

@Bleiglanz
Was meinst du mit einem Regex?
 

Bleiglanz

Gesperrter Benutzer
Beispiel
Code:
        String lastLine = "10 packets transmitted, 10 received, 0% packet loss, time 9007ms";

        Pattern pingMuster = Pattern
                .compile("(\\d+)\\D*(\\d+)\\D*(\\d+)\\D*(\\d+)\\D*"); 
        Matcher treffer = pingMuster.matcher(lastLine);
        if (treffer.matches()) {
            System.out.println("transmitted:" + treffer.group(1)); 
            System.out.println("received:" + treffer.group(2)); 
            System.out.println("% loss:" + treffer.group(3)); 
            System.out.println("time:" + treffer.group(4)); 
        }
und zum aktuellen Datum:

mach halt ein out.write(String.valueOf(new java.util.Date())) bei deiner Ausgabe in die Datei mit dazu?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A String mit mehreren Zeilen splitten Java Basics - Anfänger-Themen 4
R Eine Datei mit mehreren Zeilen beschreiben Java Basics - Anfänger-Themen 5
kaoZ Input/Output Einlesen von mehreren Zeilen Java Basics - Anfänger-Themen 4
3 JLabel - Text in mehreren Zeilen zentrieren Java Basics - Anfänger-Themen 5
K Erste Schritte Eingabetext besteht aus mehreren Zeilen? Java Basics - Anfänger-Themen 3
J Tabelle mit mehreren Zeilen dynamisch aufbauen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
Poppigescorn String mit mehreren Wörtern füllen? Java Basics - Anfänger-Themen 4
CptK Interface Functional interface mit mehreren Methoden Java Basics - Anfänger-Themen 6
P Objekt in mehreren Methoden verwenden. Java Basics - Anfänger-Themen 3
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
freudianslip if-Statement mit mehreren Zahlenwerten Java Basics - Anfänger-Themen 4
B Zeitgleiches Arbeiten am Code mit mehreren Personen? Java Basics - Anfänger-Themen 7
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
S Und-Abfrage mit mehreren Ungleich-Operatoren Java Basics - Anfänger-Themen 17
D Aufruf von mehreren Activities bringt die app zum Absturz Java Basics - Anfänger-Themen 5
G String mit mehreren Attributen aufteilen Java Basics - Anfänger-Themen 6
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
L Wie geht man bei mehreren Action Klassen vor? Java Basics - Anfänger-Themen 0
O compareTo nach mehreren Kriterien Java Basics - Anfänger-Themen 13
B Java Mail: suchen von mehreren Emailadressen Java Basics - Anfänger-Themen 5
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
G Refactoring von mehreren identischen Klassen Java Basics - Anfänger-Themen 36
K Geburtsdaten von Mehreren Personen speichern und Alter ausgeben Java Basics - Anfänger-Themen 11
T Interface Methode im Interface mit mehreren Parametern Java Basics - Anfänger-Themen 10
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
E if-Bedingung mit mehreren Möglichkeiten ? Java Basics - Anfänger-Themen 6
B MVC Struktur mit mehreren Szenen - wer schaut mal bitte drüber? Java Basics - Anfänger-Themen 2
U Schleife mit mehreren Bedingungen ? Java Basics - Anfänger-Themen 29
C OOP Von mehreren Klassen aus auf das selbe Objekt zugreifen Java Basics - Anfänger-Themen 8
M Erste Schritte Speichern von mehreren Daten Java Basics - Anfänger-Themen 3
B Variable in mehreren Klassen nutzen Java Basics - Anfänger-Themen 4
D Eine MySQL Verbindung in mehreren Klassen Java Basics - Anfänger-Themen 8
F Interface Nach mehreren Kriterien sortieren Java Basics - Anfänger-Themen 2
S OOP Variablen zwischen mehreren Klassen Java Basics - Anfänger-Themen 11
F Http Post von mehreren Daten Java Basics - Anfänger-Themen 5
Dechasa Interface JFrame mit mehreren Übereinander liegenden JPanel Java Basics - Anfänger-Themen 5
S PHP Aufruf mit mehreren Variablen Java Basics - Anfänger-Themen 2
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
R Objekt erstellen - Attribute mit mehreren Werten Java Basics - Anfänger-Themen 1
F Selben Code in mehreren Projekten Java Basics - Anfänger-Themen 1
I Listen sortieren bei mehreren Listen zu einer Java Basics - Anfänger-Themen 2
M JUnit Testmethoden mit mehreren assert Methoden Java Basics - Anfänger-Themen 1
G Klassen Problem mit mehreren Klassen Java Basics - Anfänger-Themen 2
kaoZ Input/Output Android : Deserialisieren von mehreren Objekten in einer Datei Java Basics - Anfänger-Themen 0
J Menü mit mehreren Bildern Java Basics - Anfänger-Themen 5
T Variablen Zufallsgenerator mit mehreren Variablen Java Basics - Anfänger-Themen 3
Devil0s Entwicklung mit mehreren Leuten Java Basics - Anfänger-Themen 7
R Compiler-Fehler Auf selben Array in mehreren "cases" vom "Switch" zugreifen Java Basics - Anfänger-Themen 11
K Vererbung Methoden in klassen auslagern und in mehreren Klassen verfügbar machen Java Basics - Anfänger-Themen 8
D Eine Variable in mehreren "switch" Java Basics - Anfänger-Themen 24
P Liste in einer Klasse füllen und mehreren anderen Klassen lesend verwenden Java Basics - Anfänger-Themen 5
propra Objekte in mehreren Listen Java Basics - Anfänger-Themen 6
T GUI Prog. mit mehreren Klassen Java Basics - Anfänger-Themen 4
D javac zum Kompilieren von mehreren Dateien Java Basics - Anfänger-Themen 6
P Auslesen von mehreren XML Dateien - Fehler Java Basics - Anfänger-Themen 11
M Java Berechnung mit mehreren Lösungen? Java Basics - Anfänger-Themen 9
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
firefexx Input/Output close() bei mehreren Streams Java Basics - Anfänger-Themen 5
L Server mit mehreren Clients Java Basics - Anfänger-Themen 25
C Methoden Methoden mit mehreren Rückgabewerten Java Basics - Anfänger-Themen 11
D OOP Objekt in mehreren Objekten Java Basics - Anfänger-Themen 3
T Hashmap mit mehreren Werten Java Basics - Anfänger-Themen 9
M Backslash aus mehreren einen machen? Java Basics - Anfänger-Themen 7
M Frame mit mehreren areas Java Basics - Anfänger-Themen 14
P Wie mehreren Threads Aufgaben zuweisen und abarbeiten lassen? Java Basics - Anfänger-Themen 15
Dit_ Aktualisieren von mehreren Views Java Basics - Anfänger-Themen 2
S Datentypen In mehreren Dateien Strings ersetzen Java Basics - Anfänger-Themen 14
B Swing Applikation mit mehreren Klassen Java Basics - Anfänger-Themen 2
J Matheaufgabe aus String mit mehreren Operatoren Java Basics - Anfänger-Themen 16
Q If-Abfrage mit mehreren Bedingungen Java Basics - Anfänger-Themen 6
D Datentypen Aufzählunsdatentyp in mehreren Klassen verwenden? Java Basics - Anfänger-Themen 10
U Umsetzungsfrage: Personen mit mehreren "Rollen" Java Basics - Anfänger-Themen 9
D Datentypen Liste mit Objekten aus mehreren Klassen Java Basics - Anfänger-Themen 3
P Doppelte Einträge in mehreren Textfiles finden und ausgeben Java Basics - Anfänger-Themen 8
M String mit mehreren Zahlen in Integer-Array Java Basics - Anfänger-Themen 2
S Infos aus mehreren JVMS verbinden Java Basics - Anfänger-Themen 3
ModellbahnerTT Klassen in mehreren Projekten benutzten Java Basics - Anfänger-Themen 3
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
M property mit mehreren werten Java Basics - Anfänger-Themen 3
H Vergleichen mit mehreren Textdateien Java Basics - Anfänger-Themen 2
X Konfiguration einer Anwendung aus mehreren Dateien Java Basics - Anfänger-Themen 11
K Rekusion bei Bäumen mit mehreren Blättern Java Basics - Anfänger-Themen 7
G Sortieren von mehreren klassen Java Basics - Anfänger-Themen 7
-horn- EINE setter/getter klasse aus mehreren klassen befüllen Java Basics - Anfänger-Themen 13
G art hashmap mit mehreren werten pro key Java Basics - Anfänger-Themen 2
L Zeit stoppen in mehreren Threads Java Basics - Anfänger-Themen 2
C Programm mit mehreren Dateien Java Basics - Anfänger-Themen 2
G [Threads]: Mit mehreren Threads 1 ArrayList durchlaufen Java Basics - Anfänger-Themen 19
V Screenshot von mehreren Monitoren machen Java Basics - Anfänger-Themen 6
F aus mehreren Programmen ein Programm mit Threads machen Java Basics - Anfänger-Themen 7
S equals( mit mehreren möglichkeiten) Java Basics - Anfänger-Themen 18
P JTree mit mehreren Wurzeln Java Basics - Anfänger-Themen 2
B Kürzesten Weg zwischen mehreren Punkten finden (rekursiv) Java Basics - Anfänger-Themen 5
H Ein Hauptprogramm mit mehreren Fenstern . Java Basics - Anfänger-Themen 6
M Kann man im Filter nach mehreren Strings filtern lassen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben