# highscore in *.dat speichern!



## gabriel (5. Jul 2005)

hallo an alle  :shock: ;
ich bin grad dabei für mein beakout ne highscore-funktion einzurichten...
so das hab ich eben zusammengebastelt
ich quasi einfach in ner dat oder txt datei ein highscore+namen auslesen und den dann halt ausgeben...
geht auch alles, aber er gibt mit am anfang immer z.B null236665 aus alo immer "null" am anfang.
aber ich würde es lieber mit nem StringBuffer lösen, weil ich mir den mal anschauen wollte!
aber dann weiß ich nicht wie ich das mit dem array machen soll und überhaupt  :autsch:  :bahnhof: 
kann mir vielleicht jemand helfen?
und dann wollte ich mal fragen wie mach ich das wenn keine datei da ist kann ich die automatisch erstellen lassen, und wenn ich highscore überschreiben möchte gibts dann sowas wie "writeLine"???
wäre für jede hilfe sehr dankbar
und verdammt kann ich highscore gleich oben initialisieren?
ich bekomms nicht hin!


```
private String[] highscore;

		public void highscore(){
		
			try{
				highscore = new String[2];
				
				BufferedReader buffReader = new BufferedReader(new FileReader("highscore.dat"));
				String input = "";
				
				int i=0;
				while((input = buffReader.readLine()) != null){
					highscore[i] += input;
					i++;
				}
				buffReader.close();
			}
			catch (IOException e){
				e.printStackTrace();
			}	
		
		}
```

gruß
gabriel


----------



## Campino (5. Jul 2005)

1. Lern Deutsch!
2. guck dir mal den RandomaccessFile an, zb im Java ist auch eine Insel


----------



## gabriel (5. Jul 2005)

1. anstad deine energie für meine tibbfehler uufzuwedem, könntest du vielleicht mal konstruktive vorschläge posten.

2. lass deine komische/eklige laune an deinen freunden aus nicht an mir!


gruß
gabriel


----------



## Soulfly (5. Jul 2005)

Er hat einen brauchbaren Vorschlag geliefert!
Und mal im ernst, es ist schwieriger dich zu verstehen als deinen Code.

Versuch mit RandomAccessFile dann kannste in deiner Datei schreiben, lesen und umher springen wie du willst.
Google oder JavaInsel hilft da ganz gut!


----------



## Campino (5. Jul 2005)

gabriel hat gesagt.:
			
		

> ich quasi einfach in ner dat oder txt datei ein highscore+namen auslesen und den dann halt ausgeben...


...

*ohne Kommentar*

EDIT:
zur Versöhnung:
http://www.galileocomputing.de/open...el_12_001.htm#Rxx365java12001040003F71F035100


----------



## Guest (23. Jul 2005)

Campino hat gesagt.:
			
		

> gabriel hat gesagt.:
> 
> 
> 
> ...



ziemlich ignorant oder? Weißt du ob er  deutscher ist? Ich bin sicher du bist grammatikalisch top fit in Sprache die nicht
deine nativen sind...


----------



## 0xdeadbeef (23. Jul 2005)

In einigen Foren ist bereits das konsequente Verwenden von Kleinschreibung und/oder der Verzicht auf Satzzeichen ein Verstoß gegen die Forenrichtlinien. In jedem Fall ist es nicht sonderlich höflich, die Lesbarkeit einer Frage aus Faulheit oder Prinzip zu erschweren. Insofern ist es auch nicht sonderlich intelligent, denn wer unhöflich fragt, darf sich nicht wundern, wenn man ihm so antwortet - oder eben gar nicht.


----------



## Gast (23. Jul 2005)

also vielleicht n paar tipps: 

1. du solltest deine Lese-Anweisung vielleicht besser nochmal in nen inneren Try-Block einschließen der nur ne EOFException abfängt (EndOfFile) denn nicht jede Datei liefert am ende ein null zurück das würde dann so aussehen:

try{
/*Endlosschleife bricht erst ab wenn eof erreicht ist und arbeitet dann den catch block und den finally block ab*/
  while(true){
               highscore_ = input;
               i++; 
}catch(EOFException e){ //hier steht nichts drin
}finally{
bufReader.close();
}

2. wie du siehst hab ich das bereits abgeändert, wieso machst du 
" highscore += input; "  - also wieso += und nicht =  ?

3.dein bufReader.close();  in den finally block rein, wenn deine Methode ne exception wirft, dann wird so wie dus gemacht hast dein FileReader ja nicht geschlossen.

warum bei dir da n null steht weiß ich allerdings nicht, kannst  du vielleicht auch mal deine write methode posten?


Ne Random Access Datei für so nen poplige aufgabe halte ich persönlich für schwachsinnig... was ich dir empfehlen könnte als alternative , wäre für deine Highscore Listen eben n objekt zu erzeugen und das dann über den Object Writer in die datei zu schreiben..._


----------



## Gast (23. Jul 2005)

äh sorry in die endlosschleife zum lesen muss natürlich auch noch 
input = bufReader.readLine(); als erste anweisung rein...


----------

