Hallo!
Hab wieder mal ein Problem beim Programmieren von TicTacToe, diesmal ist es so:
Ich soll mit einem FileInputStream oder FileReader (weiß nicht welches besser geeignet ist) vor dem Spiel die Namen der Spieler und deren Punktestand einlesen. Nach dem Spiel sollen die Namen der Spieler und deren Punktestand wieder gespeichert werden. Leider kenn ich mich bei den Streams nur sehr wenig aus und kann das Problem auch nicht alleine lösen. Kann mir wer helfen?
Da der Fehler ja auch beim OutputStream liegen kann, geb ich hier auch noch den Code an:
Auch da kommt kein Compilerfehler
mfg
Hab wieder mal ein Problem beim Programmieren von TicTacToe, diesmal ist es so:
Ich soll mit einem FileInputStream oder FileReader (weiß nicht welches besser geeignet ist) vor dem Spiel die Namen der Spieler und deren Punktestand einlesen. Nach dem Spiel sollen die Namen der Spieler und deren Punktestand wieder gespeichert werden. Leider kenn ich mich bei den Streams nur sehr wenig aus und kann das Problem auch nicht alleine lösen. Kann mir wer helfen?
Code:
public static void main(String args[]){
setLookAndFeel();
StringBuffer buffer = new StringBuffer();
String[] erg = new String[12];
try{
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
int in = 0;
char inChar;
do{
in = bis.read();
inChar = (char)in;
if (in != -1){
buffer.append(inChar);
}
}while(in != -1);
StringTokenizer tokenizer = new StringTokenizer(buffer.toString(), " ");
in = 0;
while (tokenizer.hasMoreTokens()){
in++;
erg[in] = tokenizer.nextToken();
}
spieler1name = erg[0];
gespielt1 = Integer.parseInt(erg[1]);
gewonnen1 = Integer.parseInt(erg[2]);
lastPlayed1 = erg[3];
spieler2name = erg[4];
gespielt2 = Integer.parseInt(erg[5]);
gewonnen2 = Integer.parseInt(erg[6]);
lastPlayed2 = erg[7];
gespieltC = Integer.parseInt(erg[9]);
gewonnenC = Integer.parseInt(erg[10]);
lastPlayedC = erg[11];
}
catch(Exception e){
System.err.println(e);
// Der Compiler meldet keinen Fehler, aber beim Ausführen wird mir hier der Fehler
// java.lang.NumberFormatException gemeldet. Woran kann das liegen?
Da der Fehler ja auch beim OutputStream liegen kann, geb ich hier auch noch den Code an:
Code:
try{
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
String output = spieler1name + " " + gespielt1 + " " + gewonnen1 + " " + lastPlayed1 + " " + spieler2name + " " + gespielt2 + " " + gewonnen2 + " " + lastPlayed2 + " " + computer + " " + gespieltC + " " + gewonnenC + " " + lastPlayedC;
int out;
for(int i=0; i<output.length(); i++){
out = (int)output.charAt(i);
bos.write(out);
}
bos.close();
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e, "ERROR", JOptionPane.ERROR_MESSAGE);
}
finally{
System.exit(0);
}
Auch da kommt kein Compilerfehler
mfg