Hallo leute, ich bekomme bei folgendem Code immer ne Nullpointer Exception und weiss nicht warum
Ich wäre für jede Hilfe Dankbar
Gruss
Christian
Java:
import de.htw.saarland.stl.Stdin;
import java.io.*;
/**
* Interaktives Testprogramm fuer DlistSorted und ArrayStack
* @author Christian Geers,Markus Hubig
* @version 0.2
*
*/
public class TestDialog {
// Konstanten um eingelesene Funktionen entsprechend darstellen zu koennen
private static final int PROGRAMM_AUSFUEHREN = 1 ;
private static final int PROGRAMM_ENDE = 0 ;
private static final char ADD = '+';
private static final char REM = '-';
private String dateiName;
private File datei;
private DlistSorted testListe;
/** Hauptschleife des Programms Dialog
* Solange nicht PROGRAMM_ENDE gewaehlt wird, wird eine Funktion mit einlesenFunktion() eingelesen
* sonstige auftretende Exceptions werden abgefangen und ausgegeben
*/
public void start () {
int funktion = -1;
while (funktion != PROGRAMM_ENDE) {
try {
funktion = einlesenFunktion();
ausfuehrenFunktion(funktion);
}
catch (AssertionError e)
{
System.out.println ( "Ein Fehler ist aufgetreten !\n" + e );
}
catch (NumberFormatException e)
{
System.out.println("Fehler: Ihre Eingabe hat nicht das richtige Format");
}
catch (Exception e)
{
System.out.println("Fehler: " + e);
e.printStackTrace();
}
}
}
/** Ausgabe des Menues und einlesen der Funktion.
*
* @return eingelesene Funktion als ganzzahlige Zahl
*/
private int einlesenFunktion()
{
System.out.print (
PROGRAMM_AUSFUEHREN + ": Programm ausfuehren\n"+
PROGRAMM_ENDE + ": Programmende -> " ) ;
return Stdin.readlnInt();
}
private void ausfuehrenFunktion(int funktion)
throws IOException, DateiNichtVorhandenException, DateiKannNichtGelesenWerdenException, DateiLeerException
{
if (funktion == PROGRAMM_AUSFUEHREN)
{
String dateiName;
dateiName = Stdin.readlnString(" Bitte geben Sie einen Dateinamen ein : ");
System.out.println("Der zu bearbeitende Dateiname lautet" + dateiName);
LineNumberReader read = new LineNumberReader(new FileReader(datei));
String line;
while ( (line = read.readLine()) != null )
{
System.out.println( "\nBearbeitete Zeile : " + read.getLineNumber() );
try
{
if (line.trim().length() != 0)
{
switch (line.charAt( 0 ))
{
case ADD : testListe.add( line.substring(1));
break;
case REM : testListe.remove( line.substring(1));
break;
default : throw new ZeilenException ( "Die Zeile : " + read.getLineNumber() +","+ line + "konnte nicht bearbeitet werden" +" es konnte weder + noch - gefunden werden"
);
}
}
else
{
throw new ZeilenException( "Die Zeile : " + read.getLineNumber() + "wird nicht gelesen weil sie leer ist"
);
}
}
catch ( Exception e )
{
System.out.println( "Es ist ein Fehler aufgetreten" + e + "Ort des Fehlers:");
e.printStackTrace();
}
System.out.println(testListe);
}
}
else if (funktion == PROGRAMM_ENDE)
{
System.out.println ( "Programmende" );
}
else
{
System.out.println (" Falsche Funktion " );
}
}
/** Main-Methode zum Erzeugen des TestDialog Objektes und zum Starten des Testprogramms
*
*/
public static void main (String[] args) throws Exception
{
TestDialog d = new TestDialog();
d.start();
}
}
Ich wäre für jede Hilfe Dankbar
Gruss
Christian
Zuletzt bearbeitet: