Bergfruehling
Lt. Junior Grade
- Registriert
- Juli 2008
- Beiträge
- 496
Hallo,
mein Ziel ist es ein Server Log von bisher >175.000 Zeilen schnell auszuwerten.
Dazu sollen bestimmte Informationen gefiltert werden und in eine externe Datei als Art Datenbank/Tabelle gesichert werden.
Hier einmal ein Beispiel:
18:02:34 Player NAME_DES_SPIELERS connecting
18:02:37 Player NAME_DES_SPIELERS connected (id=00014580)
21:55:29 Mission MISSIONSNAME read from bank
10:46:40 Player NAME_DES_SPIELERS disconnected
10:46:40 All users disconnected, waiting for users
Am Anfang steht die Uhrzeit - unerheblich für mich.
Mich interessiert die Zeile
Player NAME_DES_SPIELERS connected (id=00014580)
Achtung: Es kann sein, dass mehrere Spieler die gleiche ID benutzen, deren Namen sollen der ID ebenfalls zugeordnet werden:
Bsp:
ID++++++++++++++++++++++Name
00014580+++++++++++++++++SpielerA, SpielerZ
153784+++++++++++++++++++SpielerC
Ob das Ganze als Excel oder HTML ausgegeben wird, ist mir egal.
So weit bin ich bisher:
Ich brauche Hilfe bei dem Filter und der Ausgabe. Anregungen sind mir willkommen.
mein Ziel ist es ein Server Log von bisher >175.000 Zeilen schnell auszuwerten.
Dazu sollen bestimmte Informationen gefiltert werden und in eine externe Datei als Art Datenbank/Tabelle gesichert werden.
Hier einmal ein Beispiel:
18:02:34 Player NAME_DES_SPIELERS connecting
18:02:37 Player NAME_DES_SPIELERS connected (id=00014580)
21:55:29 Mission MISSIONSNAME read from bank
10:46:40 Player NAME_DES_SPIELERS disconnected
10:46:40 All users disconnected, waiting for users
Am Anfang steht die Uhrzeit - unerheblich für mich.
Mich interessiert die Zeile
Player NAME_DES_SPIELERS connected (id=00014580)
Achtung: Es kann sein, dass mehrere Spieler die gleiche ID benutzen, deren Namen sollen der ID ebenfalls zugeordnet werden:
Bsp:
ID++++++++++++++++++++++Name
00014580+++++++++++++++++SpielerA, SpielerZ
153784+++++++++++++++++++SpielerC
Ob das Ganze als Excel oder HTML ausgegeben wird, ist mir egal.
So weit bin ich bisher:
Code:
package dateinzugriff2;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileReader;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("*********************");
System.out.println("*** Datenzugriff ***");
System.out.println("*********************");
System.out.println("Geben Sie die Art der gewünschten Meldung ein (Action | Warning | Error)");
String Meldung;
Meldung = input.readLine();
String aktline = "";
BufferedReader inFile = new BufferedReader (new FileReader ("log2302.txt"));
aktline = inFile.readLine();
while (aktline!= null)
{
String[] parts = aktline.split("");
if (aktline.startsWith ()) && (aktline.endsWith ())
// typische Zeile aus der Quelldatei: 18:07:07 Player SpielerC connected (id=10250000)
{
System.out.println(aktline);
}
aktline = inFile.readLine();
}
inFile.close();
}
catch(Exception ex)
{
System.out.println("Irgendwas ist schief gelaufen !!!");
System.out.println(ex.getMessage() );
}
// TODO code application logic here
}
}
Ich brauche Hilfe bei dem Filter und der Ausgabe. Anregungen sind mir willkommen.
Zuletzt bearbeitet: