Wie zu verwenden BufferedReader in Java

Sorry, wenn dies eine offensichtliche Frage, aber ich kann nicht scheinen, um es zu bekommen. Ich arbeite an einem Auftrag für eine Daten-Strukturen natürlich. Es beinhaltet die Daten von einem einfach .dat-Datei. Wir hatten nie einer von den Datei-Zugriff auf Optionen, die in Java vor, so der professor gab uns den funktionierenden code für das Stück.

Einer Klasse namens FileReadExample erstellt eine neue BufferedReader Objekt, eine Datei öffnet, und dann soll kick und ein paar Daten über diese Datei.
Aber ich habe keinen Zugriff auf irgendwelche Daten überhaupt.

In einem separaten testMain Datei, ich habe eine neue FileReadExample - Objekt mit dem Namen fr und dann versucht zu drucken, Dinge wie fr.readLine() aus, aber es sagt mir es gibt keine solche Methode.

Ich bin sicher, ich bin etwas fehlt, einfach umwerfend.

Des Professors code:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class FileReadExample
{
    public static void main(String[] args)
    {
        System.out.println("got here");
        try
        {
            BufferedReader in = new BufferedReader(new FileReader(new File("sample-file.dat")));
            System.out.println("File open successful!");

            int line = 0;
            for (String x = in.readLine(); x != null; x = in.readLine())
            {
                line++;
                System.out.println(x);
                if (line <= 3)
                {
                    String[] tokens = x.split(" ");
                    System.out.println("Number of tokens in line " + line + ": " + tokens.length);
                    System.out.println("The tokens are:");
                    for (String token : tokens)
                    {
                        System.out.println(token);
                    }
                }
                else
                {
                    String[] tokens = x.split("\\|");
                    System.out.println("Number of tokens in line " + line + ": " + tokens.length);
                    System.out.println("The tokens are:");
                    for (String token : tokens)
                    {
                        System.out.println(token);
                    }
                    Integer[] values = new Integer[tokens.length];
                    Integer sum = 0;
                    for (int i = 0; i < tokens.length; i++)
                    {
                        sum += Integer.parseInt(tokens[i]);
                    }
                    System.out.println("Sum: " + sum);
                }
            }
        } catch (IOException e)
        {
            System.out.println("File I/O error!");
        }
    }
}

Dank.

  • Haben goolged. Und YouTubed. Und durchsucht. Alles, was ich sehen kann, sollte es funktionieren. Das einzige, was ich gefunden werden könnte, das problem ist, dass das alles in einen try/catch. Aber ich bin mir nicht sicher, warum, was zählt.
  • Der code, den Sie gerade gebucht ist in Ordnung für mich. Machen Sie eine Ausnahme oder eine Fehlermeldung?
  • Es kompiliert, aber wenn ich meine test-main der cursor blinkt und das Programm endet. Nichts passiert, obwohl der code hat eine Reihe von printlns in es. Ich denke, meine Frage ist, wie aufrufen von Daten aus einem BufferedReader-Objekt innerhalb einer FileReadExample Objekt in einem separaten test main.
  • Nur sortiert die gewünschte Formatierung aus. Am einfachsten finde ich mit java => stackoverflow ist, zu formatieren es alle richtig in Ihrem Lieblings-editor zuerst, dann kopieren Sie den code in eine neue Datei, wählen Sie alle Zeilen und drücken tab/indent, um es zu bekommen anerkannt als code, wenn Sie hier posten. Dann einfügen aus.
Schreibe einen Kommentar