BufferedWriter is acting strange

SuperCheezGi picture SuperCheezGi · Aug 9, 2012 · Viewed 8k times · Source

I am trying to make a game with a working highscore mechanism and I am using java.io.BufferedWriter to write to a highscore file. I don't have an encryption on the highscore and I am using Slick2D and LWJGL for rendering and user input. The program executes this code:

FileWriter fstream = new FileWriter("res/gabjaphou.txt");

BufferedWriter writer = new BufferedWriter(fstream);

writer.write(score); // score is an int value

writer.close(); // gotta save m'resources! lol

I open the text file generated by this and all it reads is a question mark. I don't know why this happens, and I used other code from another project I was making and I had no problem with that... Does anyone know why? This is really annoying! :C

Answer

Nivas picture Nivas · Aug 9, 2012

BufferedWriter.write(int) is meant to write a single charecter, not a integer.

public void write(int c)
throws IOException

Writes a single character.

Overrides: write in class Writer
Parameters: c - int specifying a character to be written
Throws: IOException - If an I/O error occurs

Try

writer.write(String.valueOf(score));