# Problem mit Java Prog



## HilfeJavaIstMeinAlbtraum (6. Jun 2008)

Mein JavaProg soll am anfang eine außwahl zwischen database und file haben, die dann die ganze zeit (bis zum nächsten start) für speichern/laden verwendet werden soll (database ist mysql, das file ein normales .txt)
nachdem aus dem dementsprechenden geladen wurde, soll ein Frame kommen der einen Jtable hat, der die Daten anzeigt(Daten kommen in eine arrayList der Buch Klasse (buch hat die Strings: Titel, Autor und preis)) und ein menuItem zum hinzufügen und eins zum entfernen hat, bei jeder aktion werden die neuen daten gespeichert, bzw gelöscht.
3 Schichten Architektur soll angewendet werden.
(Programmiersklaven können sich gern unter khournos@hotmail.com melder)

Ich hätte schon eine Idee zur Verwirklichung gehabt, nur wirft er mir bei der aus dem File laden Option bei folgendem Code:


```
ArrayList<Buch>() buecher = new ArrayList<Buch>();
boolean nez=true;

FileReader fr = null;
try{fr = new FileReader(filename);} catch(FileNotFoundException e){e.printstacktrace();}

BufferedReader br = new BufferedReader(fr);

try{String zeile = br.readLine();} catch(IOException e){nez=false;}

while(nez == true)
{ 
      StringTokenizer st = new StringTokenizer(zeile, ";");
      Buch b = new Buch();
      b.setTitel(st.nextToken());
      b.setAutor(st.nextToken());
      b.setPreis(st.nextToken());
      buecher.add(b);
      try{String zeile = br.readLine();} catch(IOException e){nez=false;}
}
```

eine nullPointerException.

die DatensatzStruktur im Txt ist zb:

Sakrileg;Dan Brown; 15.50
Harry Potter; J K Rowling; 22.90

Bitte helft mir ihr weisen Progger. 
Danke im Vorraus.


----------



## SlaterB (6. Jun 2008)

eine NullPointerException wird dir auch eine Zeile nennen,
finde heraus welches Objekt darin angesprochen wird und null ist und warum es null ist


----------



## ARadauer (6. Jun 2008)

das String zeile in zeile 9 ist ein anders als in zeile 19.
nimm das String weg und deklatiere die Variable ausserhalb der try blöcke
eine variable die du  innerhalb eines {} declarierst,  ist ausserhalb nicht sichtbar, umgekehrt aber schon.

wunder mich, dass dein code überhaupt kompiliert


```
public class Test  {
	
	public static void main(String[] args) {
		{
			String zeile = "test";
		}
		System.out.println(zeile);		
	}	

}
```
sowas funktioniert nähmlich nicht


----------



## ARadauer (6. Jun 2008)

zb


```
ArrayList<Buch>() buecher = new ArrayList<Buch>(); 
	boolean nez=true; 

	String zeile = null;
	FileReader fr = null; 
	try{fr = new FileReader(filename);} catch(FileNotFoundException e){e.printstacktrace();} 

	BufferedReader br = new BufferedReader(fr); 

	try{zeile = br.readLine();} catch(IOException e){nez=false;} 

	while(nez == true) 
	{ 
	      StringTokenizer st = new StringTokenizer(zeile, ";"); 
	      Buch b = new Buch(); 
	      b.setTitel(st.nextToken()); 
	      b.setAutor(st.nextToken()); 
	      b.setPreis(st.nextToken()); 
	      buecher.add(b); 
	      try{zeile = br.readLine();} catch(IOException e){nez=false;} 
	}
```


----------

