Dateiausgabe

Von: , Frage gestellt am Do, 14. Dez 2006

Hallo,

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

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:
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

3 Antworten zu dieser Frage

  1. Antwort von nach 16 Minuten 0 hilfreich
    Re: Dateiausgabe

    Mögliche Ursache ist, dass das Workingdirectory (das verzeichnis wo sich der Prozess gerade befindet) nicht das gleiche ist, wie das wo die Java datei liegt ;)

    Am besten zum debuggen mal den output machen dann siehst eh gleich wo du dich befindest

    System.out.println("WorkingDir="+new java.io.File(".").getAbsolutePath());
    


    LG Matthias [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: Dateiausgabe

      Es lag dann doch nur an einem Semikolon hinter while ;-)
      Danke für den Tipp mit der absoluten Pfadangabe. Wusste ich noch nicht.
      Lars

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: Dateiausgabe

      Hallo. Mögliche Ursache ist, dass das Workingdirectory nicht
      das gleiche ist, wie das wo die Java datei liegt ;)

      Am besten zum debuggen mal den output machen dann siehst eh
      gleich wo du dich befindest:

      System.out.println("WorkingDir="+new java.io.File(".").getAbsolutePath());
      Ein

      System.out.println(System.getProperty("user.dir")); 
      

      tut's auch ;)

      Gruß,
      -Andreas.

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!