Reader-Problem

Mr.X

Mitglied
Hey Leute! 😀

Ich habe jetzt alles mögliche probiert, doch es will und will nicht klappen: Eine Textdatei auslesen.

Es ist ein ganz normales Java-Projekt, ganz neu (nur dafür geschaffen), und seine einzige Aufgabe ist es, wenigstens EINE Zeile auszulesen. Mehr will ich nicht... Hab schon alles mögliche ausprobiert, hier ist eines meiner Ergebnisse:

Java:
package textdateilesen;
import java.io.*;

public class Main {
    
    public static void main(String[] args){
            
            try{
            File myfile = new File("Text.txt");
            FileReader myreader = new FileReader(myfile);
            BufferedReader bufread = new BufferedReader(myreader);
            String t = bufread.readLine();
            System.out.println(t);
            }
            catch(IOException e){
            System.out.println("Fehler!");            
            }
    }
}

Anzumerken ist, dass Text.txt im selben Package wie das Main liegt und aus 4 Zeilen aus je einem Wort besteht. Es sollte funktionieren, aber es will nicht

MfG Mr.X
 
machs doch mal so:

Java:
//....
catch(IOException e) {
        e.printStackTrace();
}

und sag uns die Fehlermeldung 😉
 
Ich probier es gleich mal aus, aber schon mal ein Tipp: Mach im catch-Block nicht nur eine Ausgabe "Fehler!" - so siehst du ja gar nicht, was los ist. Ergänze mal im catch-Block:
Java:
e.printStackTrace(); // e ist deine IOException e

So siehst du den Stacktrace, und da haben wir es nämlich auch schon (hab die Datei bei mir bla.txt genannt):
Code:
java.io.FileNotFoundException: bla.txt (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at java.io.FileReader.<init>(FileReader.java:55)
	at textdateilesen.Main.main(Main.java:15)

Ich kenne deine Verzeichnisstruktur nicht, aber ich arbeite mit Eclipse und bei mir klappt es, wenn ich das ganze so schreibe (src-Ordner plus Package-Name plus Dateiname):
Java:
File myfile = new File("src/textdateilesen/bla.txt");
 
Anzumerken ist, dass Text.txt im selben Package wie das Main liegt

Ich denke da liegt der Knackpunkt. Du musst wahrscheinlich noch dein Package im Pfad angeben. Alternativ schaust du mal, wo
Java:
new File(".")
absolut steht (somit siehst du, in welchem Ordner du grad stehst). Ich vermute, du stehst im "src" Ordner deines Projektes.
 
Ich kenne deine Verzeichnisstruktur nicht, aber ich arbeite mit Eclipse und bei mir klappt es, wenn ich das ganze so schreibe (src-Ordner plus Package-Name plus Dateiname):


Danke Leute! Es lag tatsächlich daran, dass man den vollen Dateipfad angeben muss (und ja, bei mir war die Datei im src).


Java:
File myfile = new File("src/textdateilesen/Text.txt");


Erledigt 😀
 

Zurück
Oben