IDE findet meine .txt Datei nicht!

snipesss

Mitglied
Java:
import java.util.Scanner;
import java.io.File;
import java.io.IOException;

public class WiederverwendbarerCode {
    public static void main(String args[])
                                    throws IOException {
              
        Scanner diskScanner =
                new Scanner(new File("MitarbeiterInfo.txt"));
      
        diskScanner.nextInt();
        diskScanner.nextDouble();
        diskScanner.next();
        diskScanner.nextLine();
      
        diskScanner.close();
      
    }

    }

Fehlermeldung:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at WiederverwendbarerCode.main(WiederverwendbarerCode.java:12)
 
Zuletzt bearbeitet von einem Moderator:
1. benutz Code Tags
2. schau dir die Fehlermeldung an: InputMismatchException
das ist keine FileNotFoundException
3. Wie sieht denn der Inhalt der Textdatei aus?
 
Du versuchst als erstes einen int aus der Datei zu lesen - in der ersten Zeile steht aber Mitarbeiter1, was nicht zu einem int geparsed werden kann 😉
 
Ja du sagst ja auch nur das er was einlesen soll. Nirgendens schreibst du aber Code hin welcher etwas auf der Konsole ausgeben soll 😉
System.out.println(....) wirst du hier brauchen.
 
Man kann auch try-catch benutzen. Die Main ist bereits der oberste Aufrufer, wohin soll sie die Exception noch weiterreichen?

Warum soll man catchen, wenn doch gar keine sinnvolle Fehlerbehandlung möglich ist? 😉
try-catch führt da nur zu mehr überflüssigem Code. Mehr als Fehlermeldung ausgeben und beenden kann man nicht machen, das gleiche passiert auch beim weiterschmeißen. Außerdem erhält man so auf jeden Fall die Fehlermeldung und kann sie nicht unbeabsichtigt verschlucken.
 
Bei dem Fünfzeiler da oben mag es vollkommen egal sein, bei komplexeren Code kann man so aber mehr Informationen ausgeben lassen.
Iteriert man z.B. durch eine Datei, könnte man sich hier die exakte Zeilennummer ausgeben lassen. Oder bei einer Liste den Index, an dems knallt.

Die Main ne Fehlermeldung weiterwerfen zu lassen ist in meinen Augen einfach schlechter Stil, den man sich gar nicht erst angewöhnen sollte.
 

Zurück
Oben