Findet existierendes File auf Festplatte nicht

Status
Nicht offen für weitere Antworten.

Qmark

Mitglied
Hey,

Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

class stuff {

    public void Main() {
        //dataMan als Instanz der Klasse Datamanager:
        DataManager dataMan = new DataManager(); 
        //Dataman liesst archive4.csv aus und speichert in ArrayList Arch4AsArray:
        ArrayList arch4AsArray = dataMan.readAsStrings("C:\\archive4.csv");
        //Index 1 des Arrays wird zu name:
        String name = (String) arch4AsArray.get(1);
        //Spucke name:
        System.out.println(name);
    }
}

/*
 * DataManager von einem Kollegen geschrieben, funktioniert sonst: 
*/

class DataManager {

    public ArrayList readAsStrings(File filename) throws FileNotFoundException, IOException {
        /**returns all of the data in a file as Strings given the File object*/
        ArrayList data = new ArrayList();
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String nextLine = reader.readLine();
        if (filename.exists() && filename.canRead()) {
            while (nextLine != null) {
                data.add(nextLine);
                nextLine = reader.readLine();
            }
            reader.close();//just a good idea aparently
        }
        return data;
    }

    public ArrayList readAsStrings(String filename) throws FileNotFoundException, IOException {
        /**returns an ArrayList of all of the data in a file given the String filename*/
        ArrayList data = new ArrayList();
        File file = new File(filename);
        data = this.readAsStrings(file);
        return data;
    }
}

Das Programm das vor euch liegt sollte mit Hilfe der Methode readAsStrings(filename) ein csv, das auf C: zu finden ist auslesen, in eine Arraylist speichern und der Index 1 ausgedruckt werden.
Die Klasse DataManager habe ich von einem Kollegen uebernommen, die sollte funktionieren.
Trotzem spuckt das Programm schon vor der Kompilierung in Zeile 15 aus:

java.io.FileNotFoundException; must be caught or declared to be thrown

was doch bedeutet, dass das File nicht existiert. Tut aber 100 prozentig :)

Wo liegt mein fehler? ???:L

Danke euch allen!
 
G

Guest

Gast
Klassennamen groß schreiben!

Ansonsten musst du einfach nur die Exceptions abfangen.

Code:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

class stuff {

    public void Main() {
        //dataMan als Instanz der Klasse Datamanager:
        DataManager dataMan = new DataManager();
        //Dataman liesst archive4.csv aus und speichert in ArrayList Arch4AsArray:
        ArrayList arch4AsArray = null;
		try {
			arch4AsArray = dataMan.readAsStrings("C:\\archive4.csv");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        //Index 1 des Arrays wird zu name:
        String name = "";
		try {
			name = (String) arch4AsArray.get(1);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        //Spucke name:
        System.out.println(name);
    }
}

/*
* DataManager von einem Kollegen geschrieben, funktioniert sonst:
*/

class DataManager {

    public ArrayList readAsStrings(File filename) throws FileNotFoundException, IOException {
        /**returns all of the data in a file as Strings given the File object*/
        ArrayList data = new ArrayList();
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String nextLine = reader.readLine();
        if (filename.exists() && filename.canRead()) {
            while (nextLine != null) {
                data.add(nextLine);
                nextLine = reader.readLine();
            }
            reader.close();//just a good idea aparently
        }
        return data;
    }

    public ArrayList readAsStrings(String filename) throws FileNotFoundException, IOException {
        /**returns an ArrayList of all of the data in a file given the String filename*/
        ArrayList data = new ArrayList();
        File file = new File(filename);
        data = this.readAsStrings(file);
        return data;
    }
}
 

Ebenius

Top Contributor
Qmark hat gesagt.:
java.io.FileNotFoundException; must be caught or declared to be thrown

was doch bedeutet, dass das File nicht existiert. Tut aber 100 prozentig :)
Übersetzen wir den Anfang der Meldung mal in's Deutsche: "FileNotFoundException muss gefangen werden". Und weiter: "oder [es muss] deklariert werden, dass sie geworfen wird".

Diese Exception muss also mit try-catch behandelt werden oder in einer Methode stehen, die selbst diese Exception werfen darf.

Außerdem wolltest Du bestimmt eine Main-Methode schreiben. Das geht dann zum Beispiel so:
Code:
public static void main(String[] args) {
  try {
        //dataMan als Instanz der Klasse Datamanager: 
        DataManager dataMan = new DataManager(); 
        //Dataman liesst archive4.csv aus und speichert in ArrayList Arch4AsArray: 
        ArrayList arch4AsArray = dataMan.readAsStrings("C:\\archive4.csv"); 
        //Index 1 des Arrays wird zu name: 
        String name = (String) arch4AsArray.get(1); 
        //Spucke name: 
        System.out.println(name);
  } catch(FileNotFoundException ex) {
        ex.printStackTrace();
  } catch(IOException ex) {
        ex.printStackTrace();
  }
}

Ebenius
 

Qmark

Mitglied
jo ich wollte eine main schreiben, und ich weiss auch dass man klassen eigentlich gross schreibt.
nur ist das eigentliche programm viel viel groesser, da hab ich die entscheidenden teile neu geschrieben, offensichtlich mit wenig liebe zum detail...

okay, die exceptions fange ich nun schoen auf:

run:
java.lang.NoClassDefFoundError: Wayne
Caused by: java.lang.ClassNotFoundException: Wayne
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main"
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

und nun?
das problem, dass das file nicht gefunden werden kann, besteht doch weiterhin, oder?
 

Murray

Top Contributor
Das ist doch ein ganz anderer Fehler, und auch dieser hat nichts mit einer fehlenden CSV-Datei zu tun. Zur Laufzeit wird eine von der Anwendung benötigte Klasse namens Wayne gesucht und nicht gefunden.
 

Qmark

Mitglied
verstanden, dass es dem compiler nur darum ging, dass ein *moeglicher* fehler aufgefangen wird und das ganze problem geloest.

danke euch!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
sserio Binomialkoeffizient, wie findet man k und n heraus Java Basics - Anfänger-Themen 18
V Wer findet den Fehler :) Java Basics - Anfänger-Themen 12
P module-info findet zweites Paket nicht Java Basics - Anfänger-Themen 1
I Regex findet keine Treffer Java Basics - Anfänger-Themen 4
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
J Compiler-Fehler Java findet main Klasse nicht Java Basics - Anfänger-Themen 16
K Schlüsselworte Nach Java update findet mdb Datei nicht Java Basics - Anfänger-Themen 6
A Vollkommene Zahlen: Findet keine Einzige Java Basics - Anfänger-Themen 9
O Javac findet die .java datei nicht Java Basics - Anfänger-Themen 2
snipesss Eclipse Neon findet meine Projekte nicht? Java Basics - Anfänger-Themen 1
snipesss IDE findet meine .txt Datei nicht! Java Basics - Anfänger-Themen 12
J .jar findet DATEI nicht Java Basics - Anfänger-Themen 2
A Umgebungsvariable CMD findet Hauptklasse nicht (hat bereits funktioniert) Java Basics - Anfänger-Themen 6
N Java find - findet nix Java Basics - Anfänger-Themen 1
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2
C Jar Datei findet Bibliothek nicht Java Basics - Anfänger-Themen 2
K Programm findet datei in Jar nicht Java Basics - Anfänger-Themen 9
S Applet findet Klasse nicht Java Basics - Anfänger-Themen 7
C Variablen Findet Variable nicht Java Basics - Anfänger-Themen 13
E Executable jar-file findet class nicht Java Basics - Anfänger-Themen 12
T eclipse findet javax nicht Java Basics - Anfänger-Themen 4
M JDK installieren Glassfish, bzw. ArgoUML findet die JRE nicht Java Basics - Anfänger-Themen 4
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
J Compiler findet method nicht Java Basics - Anfänger-Themen 12
A CMD findet die java.class Datei nicht Java Basics - Anfänger-Themen 46
R FileInputStream findet Datei nicht Java Basics - Anfänger-Themen 5
S jar-File findet Hauptklasse nicht Java Basics - Anfänger-Themen 9
T Ausgabe findet nicht statt Java Basics - Anfänger-Themen 4
A Findet Main class nicht Java Basics - Anfänger-Themen 12
P Datentypen Warum findet er diese methoden nicht? Java Basics - Anfänger-Themen 13
Fu3L Programm findet nach .jar-Export Dateien nicht Java Basics - Anfänger-Themen 3
C Testprogramm kann nicht compiliert werden - javac findet file nicht Java Basics - Anfänger-Themen 12
Z Programm findet MAIN Datei nicht Java Basics - Anfänger-Themen 2
N Compiler findet array in gleicher methode nicht Java Basics - Anfänger-Themen 4
megachucky FileInputStream findet nur absoluten Pfad, keinen Relativen ?! Java Basics - Anfänger-Themen 7
M javac findet Oberklassedatei nicht Java Basics - Anfänger-Themen 7
GilbertGrape findet jar aus Classpath nicht Java Basics - Anfänger-Themen 4
C Wo findet man den Inhalt vordefinierter Methoden? Java Basics - Anfänger-Themen 15
B HashMap findet Key nicht Java Basics - Anfänger-Themen 2
M Wer findet den Fehler? Java Basics - Anfänger-Themen 19
G (csv)Datei lesen FindBug findet mgl. NullPointer - wie lösen Java Basics - Anfänger-Themen 3
M Deploy findet Datei nicht Java Basics - Anfänger-Themen 2
N Vergleich findet nicht statt. Java Basics - Anfänger-Themen 13
G Anwendung findet vorhandene Klasse nicht Java Basics - Anfänger-Themen 4
N Mein Applet findet -online- einfach die Klasse nicht ! Java Basics - Anfänger-Themen 6
E jedit findet javac nicht Java Basics - Anfänger-Themen 64
H JAR findet die main-class nicht Java Basics - Anfänger-Themen 9
I Hilfe wer findet mein Fehler in bei der Endlosschleife Java Basics - Anfänger-Themen 7
M Compiler findet main nicht Java Basics - Anfänger-Themen 4
H Anwendung findet Datei nicht Java Basics - Anfänger-Themen 2
A Programm findet keine wav-Dateien im jar Archiv Java Basics - Anfänger-Themen 4
T Totaler Anfänger findet Fehler nicht. Java Basics - Anfänger-Themen 13
G Programm findet andere .class-Dateien nicht Java Basics - Anfänger-Themen 6
R java findet nicht den neuesten JRE Java Basics - Anfänger-Themen 14
V Eclipse findet (meines Wissens) korrekte Klasse nicht Java Basics - Anfänger-Themen 3
G Public class??? Findet meine Klasse nicht. Java Basics - Anfänger-Themen 5
F Klassen Ein nicht existierendes Objekt in Parametern übergeben Java Basics - Anfänger-Themen 16
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
R File.pathSeparator und File.separator Java Basics - Anfänger-Themen 46
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
izoards Prunsrv - Windows Service - .bat file starten Java Basics - Anfänger-Themen 84
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
berserkerdq2 IOstreams, was unterscheidet file von z. B. BufferedWriter? Java Basics - Anfänger-Themen 11
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
A java jar-File Java Basics - Anfänger-Themen 1
E Executable jar file fehler Java Basics - Anfänger-Themen 9
I Upload File zu einem Webservice Java Basics - Anfänger-Themen 17
I ZIP File erstellen Java Basics - Anfänger-Themen 10
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
Tom/S File Java Basics - Anfänger-Themen 10
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
A Checkstyle - File contains tab characters Java Basics - Anfänger-Themen 2
H Java file nicht gefunden Java Basics - Anfänger-Themen 5
C File speichern Java Basics - Anfänger-Themen 5
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
rafi072001 Lesen aus einem Excel File Java Basics - Anfänger-Themen 10
C Bild in executable JAR File mitgeben Java Basics - Anfänger-Themen 5
K File (png) in Image laden Java Basics - Anfänger-Themen 3
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
S Input/Output Reader/Writer finden file nicht Java Basics - Anfänger-Themen 3
T Buffered Stream leert Txt File Java Basics - Anfänger-Themen 3
A 2d Arrays aus txt.file einlesen Java Basics - Anfänger-Themen 16
Dimax In Java File (nicht in Java Projekt) mysql Driver importieren Java Basics - Anfänger-Themen 3
K File wird in der .Jar nicht gefunden Java Basics - Anfänger-Themen 3
E TXT FILE EINLESEN Java Basics - Anfänger-Themen 4
Trèfle EXCEL-File Laufwerkunabhängig einbinden. Java Basics - Anfänger-Themen 1
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B Hilfe bei InputStream To File Java Basics - Anfänger-Themen 22
topi relativer Pfad in einem Runnable JAR file Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben