Hallo liebe Community,
ich bin neu hier.
ich habe leider ein kleines Problem beim auslesen von Log-Datein aus einer Telefonanlage.
Die Log-Datei ist so aufgebaut
40500;2391;10.08.2011;23:58:12;34
4629;629124;11.08.2011;00:12;61
theoretisch bis zu 118 weiteren Zeilen, da Log minütlich exportiert wird und nur ein ISDN angeschlossen ist.
40500 anrufende Nr.
2391 angerufene Nr.
10.08.2011 Datum des Anrufes
23:58:12 Zeitpunkt des Anrufes
34 Dauer des Anrufes in sec.
Nun sollen die Werte zwischen dem Semikolon in das Array ("Zeichenpruefen") geschrieben werden,
damit die Werte der anrufenden Nr. mit einer Tastatureingabe verglichen werden können.
Das klappt leider nicht.???:L
ich bekomme immer ein
Wenn ich [JAVA=55]Zeichenpruefen[arrx][arry]=Integer.toString(zeichen);[/code]
auskommentiere läuft das Programm ohne Probleme, jedoch kommt keine Ausgabe, da ja kein Inhalt in dem Array.
Danke schonmal im voraus für die Hilfe.:toll:
kleine Info noch JDK ist 6u27
Gruß Stephan Fischer
P.S. Im Anhang schonmal der komplette Quelltext
ich bin neu hier.
ich habe leider ein kleines Problem beim auslesen von Log-Datein aus einer Telefonanlage.
Die Log-Datei ist so aufgebaut
40500;2391;10.08.2011;23:58:12;34
4629;629124;11.08.2011;00:12;61
theoretisch bis zu 118 weiteren Zeilen, da Log minütlich exportiert wird und nur ein ISDN angeschlossen ist.
40500 anrufende Nr.
2391 angerufene Nr.
10.08.2011 Datum des Anrufes
23:58:12 Zeitpunkt des Anrufes
34 Dauer des Anrufes in sec.
Nun sollen die Werte zwischen dem Semikolon in das Array ("Zeichenpruefen") geschrieben werden,
damit die Werte der anrufenden Nr. mit einer Tastatureingabe verglichen werden können.
Das klappt leider nicht.???:L
ich bekomme immer ein
exception in thread "main" java.lang.arrayIndexOutofboundsexception: 13 at telefon.main<telefon.java:55>
Wenn ich [JAVA=55]Zeichenpruefen[arrx][arry]=Integer.toString(zeichen);[/code]
auskommentiere läuft das Programm ohne Probleme, jedoch kommt keine Ausgabe, da ja kein Inhalt in dem Array.
Danke schonmal im voraus für die Hilfe.:toll:
kleine Info noch JDK ist 6u27
Gruß Stephan Fischer
P.S. Im Anhang schonmal der komplette Quelltext
Java:
import java.io.*;
public class telefon
{
public static void main(String args[])
{
try
{
int zeichen=0;
int arrsize=0;
int arry=0;
int arrx=0;
BufferedReader reading = new BufferedReader(new InputStreamReader(System.in));
FileOutputStream output = new FileOutputStream("auswertung.txt");
FileInputStream input = new FileInputStream("log.txt");
while((zeichen=input.read())!=-1)
{
if (zeichen==10)
{
arrsize++;
}
}
input.close();
FileInputStream in = new FileInputStream("log.txt");
System.out.println("Telefonanlagen Log-Auswertung");
System.out.println("");
System.out.print("zu untersuchende Rufnummer eingeben: ");
int eingabe=reading.read();
System.out.println("");
String[][] Zeichenpruefen= new String[arrsize][5];
for (int i=0; i<arrsize; i++)
{
Zeichenpruefen[i][0]="";
Zeichenpruefen[i][1]="";
Zeichenpruefen[i][2]="";
Zeichenpruefen[i][3]="";
Zeichenpruefen[i][4]="";
}//Zeichenpruefen initsialisieren
while((zeichen=in.read())!=-1)
{
if (zeichen==59)//ist ;
{
zeichen=44;// ; in , umwandeln
arry++;//nächstes Feld im Array
}
else if (zeichen==10)//Zeilenumbruch
{
arry=0;// 1. Feld im Array
arrx++;// nächste Zeile im Array
}
output.write(zeichen);
if (zeichen!=59)
{
if (zeichen!=10)
{
Zeichenpruefen[arrx][arry]=Integer.toString(zeichen);//zeichen in String umwandeln und in Array schreiben
}
}
}
for(int j=0;j<arrsize;j++)
{
if (Zeichenpruefen[j][0]==Integer.toString(eingabe))
{
System.out.println("Von: "+Zeichenpruefen[j][0]+" An: "+Zeichenpruefen[j][1]+
"Am: "+Zeichenpruefen[j][2]+" Um: "+Zeichenpruefen[j][3]+" Dauer: "+Zeichenpruefen[j][4]);
}
}
in.close();
output.close();
}
catch(FileNotFoundException e)
{
System.out.print("Datei nicht gefunden:"+e.toString() );
}
catch(IOException e)
{
System.out.print("Lesefehler..."+e.toString() );
}
}
}