Hallo,
public class verbindungen
{
public int empfangenenBytes()
{
int umsatz = 0;
int umsatzGesamt = 0;
String zeile;
try{
BufferedReader File = new BufferedReader(new FileReader("traffic.csv"));
Schreib "File" klein. Es ist eine Variable, und kein Klassenname.
zeile = File.readLine();
while (zeile != null)
{
String[] daten = zeile.split(";");
umsatz = Integer.parseInt(daten[6]);
zeile = File.readLine();
System.out.println(umsatz);
umsatzGesamt += umsatz;
}
Oder, besser:
while ((zeile = file.readLine()) != null)
{
String[] daten = zeile.split(";");
umsatz = Integer.parseInt(daten[6]);
System.out.println("Einzelumsatz: " + umsatz);
umsatzGesamt += umsatz;
}
System.out.println("Gesamtumsatz: " + umsatzGesamt);
File.close();
}
catch (IOException e) {
System.out.println("Fehler beim einlesen der Datei.");
}
return umsatzGesamt;
}
}
Übrigens schachtelt man IO-Zugriffe besser in einem try-catch-finally.
Etwa so:
Reader file = null;
try {
// Datei öffnen und lesen, aber _nicht_ schließen.
} catch (FileNotFoundException e) {
// Mach was.
} catch (IOException e) {
// Mach was.
} finally {
try { file.close(); } catch (Throwable t) { /* Ignorieren */ }
}
Hintergrund:
Dateien sollten _immer_ geschlossen werden. Auch dann, wenn ein Lese-
fehler (oder was vergleichbares) aufgetreten ist. Dies wird durch
das Schließen im finally-Block gesichert. Dieser Block wird _immer_
ausgeführt. Tritt eine Exception auf, wird diese vorher behandelt,
und dann der finally-Block aufgerufen. Tritt keine Exception auf,
wird der finally-Block nach der Ausführung des try-Blocks ausgeführt.
Es ist so sichergestellt, daß die Datei geschlossen wird.
Hier kann man dann auch gerne Throwable fangen -- was man sonst
tunlichst vermeiden sollte -- weil man bei einem Fehler im close()
sowieso nichts mehr tun kann.
(Hier kann übrigens auch eine NullPointerException auftreten, falls
"file" noch nicht initialisiert wurde, also null ist. Da wir aber
Throwable abfangen und ignorieren, stört das auch nicht weiter.)
Will man auch bei close() eine Behandlung durchführen, sollte man
natürlich nicht Throwable, sondern höchstens Exception fangen, da
Throwable auch Error fängt, was man auch möglichst unterlassen sollte,
wenn man daraufhin noch weiteren Code ausführt.
Natürlich muß man bei expliziter Behandlung vorher prüfen ob "file"
schon gesetzt, also ungleich null ist.
Gruß
Slyh