Dateiausgabe

WIK-Lars

Erfahrenes Mitglied
Hallo,

wieso wird bei folgendem Code meine Quelldatei "text.txt" nicht gefunden. Sie liegt im Workspace im selben Ordner wie die Java-Datei.


Code:
public class Wortausgabe 
{
 public static void main(String[] args)
 {
  try
  {
   FileInputStream fis = new FileInputStream("text.txt");
   DataInputStream dis = new DataInputStream(fis);
   String zeile = null;
   Vector v = new Vector();
   while((zeile = dis.readLine()) != null);
   {
    StringTokenizer st = new StringTokenizer(zeile," ");
    while(st.hasMoreElements())
    {
     v.add(st.nextToken());
    }
   }
   for(int i=0; i<20; i++)
   {
    System.out.println(v.get(i).toString());
   }
  }// end try
  catch (IOException ioe)
  {
   System.out.println("IOException!");
  }
 }
}
Es kommt dann folgende Fehlermeldung, weil zeile = null ist:
Code:
Exception in thread "main" java.lang.NullPointerException
at java.util.StringTokenizer.<init>(Unknown Source)
at java.util.StringTokenizer.<init>(Unknown Source)
at Wortausgabe.main(Wortausgabe.java:17)
Danke für Antworten,
Lars
 
Sie darf nicht bei der Java Datei liegen sondern dort wo der Pfad von System.getProperty("user.dir"); hinzeigt. Unvollständige Pfadangaben werden immer auf das user.dir zurückgeführt. Das ist der Hauptordner deines Projekts.
 
*hehe* Stimmt. Dumm das Java sowas akzeptiert weil es einer while-Schleife ohne Ausführungsteil und einem folgenden Block entspricht.

Wenn du mit eclipse entwickelst lässt sich so ein Fehler aber anzeigen in dem man unter Windows -> Preferences -> Java -> Compiler -> Errors/Warnings -> Code Style das Undocumented Empty Block auf Warning oder Error stellt.
 
Zurück