FileNotFoundException

Gravitox

Mitglied
Ich versuche nun schon seit fast zwei Tagen eine simple Textdatei per Java einzulesen, komme aber mit Eclipse nicht weiter.

Hier mein Quelltext aus der Main-Datei:
Java:
package tests;

import java.io.FileReader;

public class Main {

	public static void main(String[] args) {
		
		/**
		 * Test zum einlesen einer Textdatei
		 */
		FileReader fileReader = new FileReader("test.txt");

	}

}

Im Package Explorer liegt folgende Struktur vor:
  • src
    • tests
      • Main.java
      • test.txt
Das Problems Panel gibt mir immer eine FileNotFoundException aus und so langsam weiß ich trotz intensiver Google-Recherche nicht mehr weiter.
Ich habe die Textdatei sogar in Eclipse angelegt, befüllt und gespeichert, aber trotzdem wird die Datei nicht gefunden.

Bitte um Hilfe!
 
S

SlaterB

Gast
du kannst hier wie meist auch ein File-Object erstellen und dir dessen kompletten Pfad ausgeben lassen,
dann weist du an welcher Stelle Java nachschaut, wahrscheinlich in dem Verzeichnis, in dem src liegt,
Projektgrundverzeichnis
 

ARadauer

Top Contributor
hier sucht java die datei

Java:
        File f = new File("");
        System.out.println(f.getAbsolutePath());
 

Gravitox

Mitglied
Meinst du etwa in der Form:
Java:
File file = new File("test.txt");

System.out.println(file.getAbsolutePath());

ARadauer war schneller :)

Dann bekomme ich tatsächlich das Projektverzeichnis.
Muss ich dann von dort aus durch "src/test/test.txt" ?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> Muss ich dann von dort aus durch "src/test/test.txt" ?
die berühmten ja-nein-Fragen, ist das Forum auch diesmal schneller als mein Java-Test?
 

Gravitox

Mitglied
Habe ich gemacht, also den Pfad an "src/tests/test.txt" angepasst.
Leider bleibt es bei der Exception...

Auch das testweise Verschieben in den Projektordner bringt nichts.
 

CortPoker

Aktives Mitglied
Dann reicht die relative Pfadangabe wohl nicht. "C:/User/......" musst du dann angeben.
Oder einfach deine .txt Datei in den Projektordner schieben und dem FileReader "test.txt" übergeben
 
S

SlaterB

Gast
> Leider bleibt es bei der Exception...
zusammen mit dieser Feststellung macht die Frage dann auch Sinn,

erzeuge ein File-Objekt mit "src/tests/test.txt", was liefert exists()?
erzeuge ein File-Object auf "src/tests", liste die Unterdateien in dem Verzeichnis auf,
vergleiche sie mit deinem gedachten Dateinamen,
heißt die Datei zufällig test.txt.txt?

> Dann reicht die relative Pfadangabe wohl nicht.
naja, unbegründet muss man das nicht hinnehmen, es findet sich bisher doch immer eine Lösung
 

Gravitox

Mitglied
Interessanter Weise verschwindet der FileNotFoundException Error, wenn ich die package Deklaration entferne.
Eclipse läßt mich dann zwar wegen der fehlenden Deklaration trotzdem nicht kompilieren, aber vielleicht hilft das irgendwie weiter?
 
S

SlaterB

Gast
wenn du ein Programm nicht kompilieren kannst, wie soll es dann ohne Exception ausgeführt werden?

ansonsten ist die Kombination aber recht hart, will mir nicht in den Kopf,
wenn noch weiter interessiert, dann vorerst ohne Unterverzeichnisse,
wie sieht es mit folgenden Textprogramm aus:
Java:
public class Test {

	public static void main(String[] args) throws Exception {
		String path = "test12.txt";
		File f = new File(path);
		System.out.println(f.exists());
		f.createNewFile();
		System.out.println(f.exists());
		FileReader fileReader = new FileReader(f);
		System.out.println("geht1");
		FileReader fileReader2 = new FileReader(path);
		System.out.println("geht2");
	}
}
falls Datei vorher nicht vorhanden sollte die Ausgabe
Code:
false
true
geht1
geht2
lauten, klappt das?
ist danach diese Datei wenigstens in aller Form greifbar?
ist sie in anderen Programmen wie Eclipse oder Windows Explorer auf irgendeine Weise von der anderen, nicht funktionierenden Datei im Grundverzeichnis des Projektes zu unterscheiden?

sobald dort alles funktioniert, mein Programm gegebenenfalls mit src + src/tests testen
 

Neue Themen


Oben