Utility scanner

JayBraker

Grünschnabel
Hmm hallo werte Forumnutzer,

ich wende mich an euch, die ihr mir hierbei hoffentlich helfen könnt..
Ich versuche einen Scanner zu schreiben, der eine ihm gegebene .txt einliest und Zeile für Zeile in entweder einem String oder einer List speichert.
Das Problem beginnt aber schon damit, dass Eclipse mir den Fehler

"Exception in thread "main" java.lang.Error: Unresolved compilation problem: Unhandled exception type FileNotFoundException at SystemInScanner.main(SystemInScanner.java:11)"

Oder kurz: FileNotFoundException
ausgibt. die .txt sowie die Java Datei liegen im selben Ordner, auch habe ich es bereits mit dem vollständigen Pfad probiert, was aber den gleichen Fehler hervorbrachte.

Ich hoffe, das Problem einleuchtend erklärt zu haben und dass jemand hier eine Idee hat :)

Gruß Jay

Java:
import java.util.scanner;
import java.io.File;

public class SystemInScanner {

    public static void main(String[] args) {
       
        String inhalt = "";
       
        //Scanner sc = new Scanner(System.in);
        Scanner sc = new Scanner(new File("testdokument.txt"));
       
            inhalt = inhalt + sc.nextLine();
       
        sc.close();
       
        System.out.println(inhalt);
       
    }

}
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi,

zu deinem Problem:
Dein Eclipse läuft mit dem Projektverzeichnis als Arbeitsverzeichnis. Sprich, wenn du die "test.txt" ansprichst, dann sucht er nicht bei deinem Sourcefile, sondern dort wo dein Projekt liegt (im gleichen ORdner müsste auch eine .project und .classpath liegen).
Dass er die Datei mit absolutem Pfad nicht findet ist aber auch komisch. Hast du die \ unter Windows korrekt in den String übernommen?
Falsch: C:\workspace\test\test.txt
Richtig: C:\\workspace\\test\\test.txt

Die Fehlermeldung von dir zeigt aber nicht an, dass er die Datei nicht findet (das kann er ja erst beim starten des Programms festellen), sondern dass er dir dein Projekt nicht bauen (compilen) kann. Das liegt daran, dass du die Checked Exception "FileNotFoundException" nicht behandelst. Also entweder ein "throws XXXX" an die main ran, oder einen try-catch Block aussen rum.

Allgemein:
Du musst das Rad nicht neu erfinden: http://stackoverflow.com/a/326440/1164913

Grüsse,
BK