IOException in meinem Programm

Henry939

Aktives Mitglied
Hallo Freunde der Sonne,
ich kann die Ursache für das Auftreten einer IOException in meiner Datei nicht finden.
Die Ausnahme wird in meiner Funktion readFile in Helper.java geworfen.
Habt ihr eine Idee, wo die Ursache zu finden ist?

Helper.java (Hilfsmethoden für das Hauptprogramm in ReadJSON)
Java:
import java.io.*;

public class Helper
{  
    static private FileReader fr = null;
    static private BufferedReader br = null;
  
    static private void initialize(String fileName)
    {
        try
        {
            fr = new FileReader(fileName);
            br = new BufferedReader(fr);
        } catch(IOException e) {System.out.println("error in initialize() in Helper.java");}
    }

    static public int getNumberOfLines(String fileName)
    {  
        initialize(fileName);
  
        int numberOfLines = 0;
        try
        {  
            while(br.readLine() != null)
            {
                numberOfLines++;
            }
            br.close();
        } catch(IOException e) {System.out.println("error in getNumberOfLines() in Helper.java");}
      
        return numberOfLines;
    }
  
    static public void readFile(String fileName)
    {
        initialize(fileName);
      
        int numberOfLines = getNumberOfLines(fileName);
        for(int i = 0; i < numberOfLines; i++)
        {
            try
            {
                String line = br.readLine();
                System.out.println(line);
            }
            catch(IOException e){System.out.println("error in readFile() in Helper.java");}
        }
    }
}

ReadJSON.java
Java:
public class ReadJSON
{
    public static void main(String[] args)
    {
        int numberOfLines = Helper.getNumberOfLines("data.json");
        System.out.println(numberOfLines);
        Helper.readFile("data.json");
    }
}

die einzulesende Datei data.json befindet sich im selben Verzeichnis und ist mit Inhalt gefüllt.
 
Zuletzt bearbeitet von einem Moderator:
Anstatt die Exception zu fangen und nur "error ..." auszugeben, solltest du dir den stacktrace der Exception ausgeben lassen, damit du siehst was (und wo) denn genau schief gelaufen ist
 
Zwei Beobachtungen:

Es wird dreimal das "initialize()" aufgerufen.
Durch "getNumberOfLines()" wird der Reader am Ende geschlossen aber danach (in readFile()) gleich wieder versucht davon zu lesen.
 
Verstehe. Aber jetzt ist es noch seltsamer. Beim Befehl Helper.getNumberOfLines() und beim anderen Befehl in ReadJSON.java sagt der Compiler, daß er die Variable Helper nicht kennt, obwohl Helber im selben Ordner liegt, Helper auch keine Variable ist und das vorher wunderbar funktioniert hat. Was hab ich da schon wieder falschgemacht? Kann das was damit zu tun haben, daß ich bei den Umgebungsvariablen eine Variable CLASSPATH gesetzt (undd wieder gelöscht) habe?
 

Zurück
Oben